现在位置: 首页 > 算法 > 文章
2020年05月21日 算法 ⁄ 共 1413字 评论关闭
  对于新入门的开发者,如何安装Ruby,RubyGems和Rails的运行环境可能会是个问题。下面学步园小编来讲解下如何快速正确的安装Ruby,Rails运行环境?   如何快速正确的安装Ruby,Rails运行环境   系统需求   首先确定操作系统环境,不建议在Windows上面搞,所以你需要用:   MacOSX   任意Linux发行版本(Ubuntu,CentOS,Redhat,ArchLinux...)   以下代码区域,带有$打头的表示需要在控制台(终端)下面执行(不包括$符号) ...
阅读全文
2020年05月21日 算法 ⁄ 共 1753字 评论关闭
  大家都知道重载是指在同一个类中,定义了有相同名称但是有不同参数类型的方法时,到底调用那一个方法会根据参数类型来选择。下面学步园小编来讲解下JAVA重载(overload)和覆盖(override)有哪些陷阱?   JAVA重载(overload)和覆盖(override)有哪些陷阱   classParentClass{   }   classChildClassextendsParentClass{   }   publicclassTest{   publicvoidtestOverLoad(ParentClasscls){   System.out.println...
阅读全文
2020年05月21日 算法 ⁄ 共 385字 评论关闭
java项目中经常需要用到到当前日期的前若干天、后若干天、前几小时、后几小时的时间.在开发中经常会使用到一些日期方面的操作。下面学步园小编来讲解下Java中获取指定日为星期几及其他日期怎么操作? Java中获取指定日为星期几及其他日期怎么操作 取得指定日期是星期几可以采用下面两种方式取得日期是星期几: a、使用Calendar类 [java] //根据日期取得星期几 publicstaticStringgetWeek(Datedate){...
阅读全文
2020年05月21日 算法 ⁄ 共 3629字 评论关闭
  在非ajax页面中,只要在page上设置MaintainScrollPositionOnPostback="true"即可进行记忆滚动条位置.  但是在ajax中,这个功能却不能正确工作了,那么我们应当如何让div自动维护滚动条位置呢?下面学步园小编来讲解下如何让div自动维护滚动条位置?   如何让div自动维护滚动条位置   首先在页面上增加asp:panel控件,然后在aspx.cs后台加入以下方法:   [c#]   protectedvoidDoMaintainScrollPositionForAjax(UpdatePane...
阅读全文
2020年04月26日 算法, 编程语言 ⁄ 共 871字 评论关闭
  c++的代码包含头文件和实现文件两部分,头文件一般是提供给别人(也叫客户)使用的,但是一旦头文件发生改变,不管多小的变化,所有引用他的文件就必须重新编译,编译就要花时间。下面学步园小编来讲解下怎样减少C++代码编译时间?   怎样减少C++代码编译时间   言归正传,怎样介绍编译时间呢,我知道的就3个办法:   删除不必要的#include,替代办法使用前向声明(forwarddeclared)   删除不必要的一大堆私有成员变量,...
阅读全文
2020年02月25日 算法 ⁄ 共 967字 评论关闭
  归并排序   归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。   基本思想   可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递归拆分子序列的过程。   合...
阅读全文
2020年02月25日 算法 ⁄ 共 2211字 评论关闭
  类锁和对象锁,synchronized修饰static方法与非static方法的区别   当synchronized修饰一个static方法时,多线程下,获取的是类锁(即Class本身,注意:不是实例),作用范围是整个静态方法,作用的对象是这个类的所有对象。   当synchronized修饰一个非static方法时,多线程下,获取的是对象锁(即类的实例对象),作用范围是整个方法,作用对象是调用该方法的对象。   结论: 类锁和对象锁,一个是类的Class对象的锁,一个...
阅读全文
2020年02月25日 算法 ⁄ 共 3518字 评论关闭
  synchronized 加到 static 方法前面是给class 加锁,即类锁;而synchronized 加到非静态方法前面是给对象上锁。这两者的区别我用代码来演示下:   对象锁和类锁是不同的锁,所以多个线程同时执行这2个不同锁的方法时,是异步的。   在Task2 中定义三个方法 doLongTimeTaskA和doLongTimeTaskB是类锁,而doLongTimeTaskC是对象锁。   public class Task2 {   public synchronized static void doLongTimeTaskA() {  ...
阅读全文
2020年02月25日 算法 ⁄ 共 7865字 评论关闭
  通过分析Synchronized和Static Synchronized这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static synchronized(或者是锁在该类的class或者classloader对象上)。下面的文章做了很好的总结:   ...
阅读全文
2020年02月21日 算法 ⁄ 共 3749字 评论关闭
  为什么需要倒排索引   倒排索引,也是索引。   索引,初衷都是为了快速检索到你要的数据。   每种数据库都有自己要解决的问题(或者说擅长的领域),对应的就有自己的数据结构,而不同的使用场景和数据结构,需要用不同的索引,才能起到最大化加快查询的目的。   对 Mysql 来说,是 B+ 树,对 Elasticsearch/Lucene 来说,是倒排索引。   Elasticsearch 是建立在全文搜索引擎库 Lucene 基础上的搜索引擎,它隐藏了 ...
阅读全文