自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 监听器模式、观察者模式

最近在学习netty的时候,发现里面用到了监听器模式,感觉非常实用,以前看设计模式的时候只是看,并没有用上。其实这是一个非常重要并实用的设计模式,在很多框架里面都用到了。netty里面的应用: serverBootstrap.bind(8000).addListener(new GenericFutureListener<Future<? super Void&gt...

2018-11-05 22:06:00 297

转载 Jedis连接池使用

构建redis连接池,返还到连接池private static JedisPool jedisPool = null;private static Jedis jedis;static { jedis = getJedisPool().getResource();}/** * 构建redis连接池 */public static JedisPool getJ...

2017-05-10 18:10:00 153

转载 MongoDB Java Driver 3.4操作

导入jar包<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version></dependency>连...

2017-05-05 14:04:00 263

转载 MongoDB3.4 shell CRUD操作

输入db,显示你正在操作的数据库;切换数据库,输入use dbName,如果数据库不存在的话会自动帮我们创建一个;使用show dbs可以显示所有可用的数据库。测试数据在文末插入文档插入操作的行为表现_id字段:在MongoDB中,存储于集合中的文档需要一个唯一的_id字段作为primary key。如果文档中没有指定_id字段,MongoDB将使用ObjectId作为_i...

2017-05-04 22:02:00 119

转载 Java 工具类总结目录

工具类功能BeanUtils提供了对于JavaBean进行各种操作,克隆对象,属性等等BetwixtXML与Java对象之间相互转换Codec处理常用的编码方法的工具类包,例如DES,SHA1,MD5,Base64等CollectionsJava集合框架操作CompressJava提供文件打包,压缩类库Configuration...

2017-04-25 09:45:00 177

转载 【Java基础】 Java动态代理机制

在Java的动态代理机制中,有两个重要的类。一个是InvocationHandler,另一个是Proxy。InvocationHandler:每一个动态代理类都必须要实现InvocationHandler接口,并且每个代理类的实例都关联到了一个handler,当我们通过代理调用一个方法的时候,这个方法的调用就会被转发为由InvocationHandler这个接口的invoke方法来进...

2017-03-31 11:56:00 93

转载 【Java基础 】Java7 NIO Files,Path 操作文件

从Java1.0到1.3,我们在开发需要I/O支持的应用时,要面临以下问题:没有数据缓冲区或通道的概念,开发人员要编程处理很多底层细节I/O操作会被阻塞,扩展能力有限所支持的字符集编码有限,需要进行很多手工编码工作来支持特定类型的硬件。不支持正则表达式,数据处理困难。为了解决这些问题,在Java1.4引入了NIO。其中有两次主要改进:在Java1.4中引入非阻塞I/O...

2017-03-30 22:50:00 158

转载 Tomcat虚拟主机配置

最近组长要求我在一台服务器上面部署多个项目,这就需要在Tomcat里面配置虚拟主机了。首先来看下 tomcat/conf/server.xml 这个文件Server.xml<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <Lis...

2017-03-28 15:06:00 129

转载 【Java基础】通过getResourceAsStream() 加载资源文件

Class.getResourceAsStream(String path)path不以“/”开头时,默认是从当前类所在的包下面获取资源path以“/”开头时,则是从项目的classPath根下获取资源JDK设置这样的规则,是很好理解的,path不以“/”开头时,我们就能获取与当前类所在的路径相同的资源文件,而以“/”开头时可以获取classPath根下任意路径的资源。Cl...

2017-03-23 22:36:00 328

转载 【Java基础】LinkedList工作原理

LinkedList以双向链表实现。链表无容量限制,但双向链表本身使用了更多空间,每插入一个元素都要构造一个额外的Node对象,也需要额外的链表指针操作。按下标访问元素-get(i)、set(i,e)要悲剧的部分遍历链表将指针移动到位(如果i>数组大小的一半,会从末尾移起)。插入、删除元素时修改前后节点的指针即可,不再需要复制移动。但还是要部分遍历链表的指针才能移动到下标所指...

2017-03-05 11:44:00 102

转载 【Java基础】ArrayList工作原理

ArrayList以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素-get(i)、set(i,e)的性能很高,这是数组的基本优势。如果按下标插入元素、删除元素-add(i,e)、remove(i)、remove(e),...

2017-03-05 11:17:00 132

转载 【Java基础】HashMap工作原理

HashMapHash table based implementation of the Map interface. Thisimplementation provides all of the optional map operations, and permitsnull values and the null key. (The HashMap class is ro...

2017-03-05 09:31:00 100

转载 【Java基础】反射机制

反射反射可以使我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码链接。反射允许我们在编写和执行时,使我们的代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。反射机制作用反编译:.class -> .java通过反射机制访问Java对象的属性,方法,构造方法反射的使用反射机制获取类的三种方式Class c1...

2017-03-01 16:30:00 100

转载 【Java基础】final

finalfinal在Java中是一个保留的关键字,一旦将引用声明成final,那么我们就不能够改变这个引用了。final变量凡是被final修饰的变量都叫做final变量。final变量经常和static一起使用,作为常量。final是只读的。 public static final String NAME = "Java";final方法被final修饰的方法不可...

2017-03-01 14:54:00 96

转载 【Java基础】 static

staticstatic表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何...

2017-03-01 14:32:00 97

转载 【Java基础】String StringBuffer StringBuilder

StringString是不可变的我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的。(public final class String)查看以下代码:String text = "a"; text = "b";String不是不可变的么?为什么可以这样用?因为text是字符串"a"的引用,即引用是可以变化的,跟对象实例的属性变...

2017-03-01 10:19:00 99

转载 【排序算法】希尔排序算法 Java实现

希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高。但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。基本思想先取一个小于n的整数d1作为第一个增量,把待排序的全部记录分成dx个...

2017-02-28 09:38:00 156

转载 【排序算法】直接选择排序算法 Java实现

基本思想直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。初始状态:无序区为a[1...n],有序区为空。第一次排序:在无序区a[1...n]中选出最小的记录a[k],将它与有序区的第一个元素交换,使a[1...1]和a[2...n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。... 经过n-1次排序结束。算法实现 public ...

2017-02-27 16:34:00 137

转载 【排序算法】直接插入排序算法 Java实现

基本思想每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部插入完成。设数组为a[0...n-1]初始时,a[0]自成一个有序区,无序区为a[1...n-1]。令i=1将a[i]并入当前有序区a[0...i-1]中形成a[0...i]的有序区间i++重复第二步直到i==n-1。排序完成算法实现 public void s...

2017-02-27 15:39:00 126

转载 【排序算法】冒泡排序算法 Java实现

基本思想设数组长度为N。比较前后两个数据,如果前面的数据大于后面的数据,就将两个数据交换。这样对数组的第0个数据到N - 1个数据进行遍历后,最大的一个数据就沉到了数组的第N - 1个位置。N = N - 1,如果N不为0就重复前面两步,否则排序完成。第一种实现方法 public void sort(int[] array) { int tmp;...

2017-02-26 23:21:00 80

转载 【排序算法】归并排序算法 Java实现

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。基本思想可以将一组数组分成A,B两组依次类推,当分出来的小组只有一个数据时,就可以认为这个小组已经达到了有序然后合并相邻的两个小组这样先通过递归的分解数组,再合并数组就可以完成 归并排序。两个数组的合并算法实现public class ...

2017-02-26 17:20:00 54

转载 【排序算法】快速排序算法 Java实现

快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。基本思想先从数组中找出一个数作为基准数分区过程,将比这个数小的数全部放到它的左边,大于它的数全部放到右边再对左右区间重复第二步,直到各区间都只有一个数排序过程在一篇博客上看到一个很有趣的讲解方法:叫做 挖坑...

2017-02-26 15:16:00 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除