java
文章平均质量分 81
戴墨镜的鸡
这个作者很懒,什么都没留下…
展开
-
深入理解HashMap(及hash函数的真正巧妙之处)
原文地址:http://www.iteye.com/topic/539465 /** *@author annegu *@date 2009-12-02 */ Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论转载 2017-02-17 15:03:00 · 349 阅读 · 0 评论 -
分布式速记
单机→分布式控制器1.硬件负载均衡(随机,轮询,权重)。2.软件LVS 。3.名称服务直连4.规则服务器5.Master+Worker运算器1.DNS轮询2.返回负载均衡服务器地址3.Master 存储器 1.代理服务器2.名称3.规则4.Master分布式Session:1.Session Sticky一次一个服务器 ,宕机,7引用层开销,内存2.Session Replicatio原创 2017-03-09 16:05:07 · 293 阅读 · 0 评论 -
java 操作Redis list 命令 实例(Jedis) (四)
package com.jjf.redis;import org.junit.Assert;import org.junit.Test;import redis.clients.jedis.BinaryClient;import redis.clients.jedis.Jedis;import java.util.List;/** * Created by jjf_lenovo原创 2017-03-30 20:50:31 · 15308 阅读 · 0 评论 -
java 操作Redis key 命令 实例(Jedis) (一)
废话不多说,上代码package com.jjf.redis;import com.google.gson.Gson;import redis.clients.jedis.Jedis;import redis.clients.jedis.Tuple;import java.net.MalformedURLException;import java.net.URL;import j原创 2017-03-22 21:16:11 · 7450 阅读 · 0 评论 -
java 操作Redis hash 命令 实例(Jedis) (三)
废话不多说,上代码.package com.jjf.redis;import org.junit.Assert;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.Pipeline;import redis.clients.jedis.ScanResult;i原创 2017-03-27 21:01:10 · 20059 阅读 · 2 评论 -
java 操作Redis Set 命令 实例(Jedis) (五)
直接上哎package com.jjf.redis;import org.junit.Assert;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.Pipeline;import redis.clients.jedis.ScanResult;import java原创 2017-03-31 18:24:41 · 10664 阅读 · 0 评论 -
java 操作Redis SortedSet 命令 实例(Jedis) (六)
废话不多说,直接上代码package com.jjf.redis;import org.junit.Assert;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.Pipeline;import redis.clients.jedis.ScanResult;impor原创 2017-04-06 21:04:59 · 10162 阅读 · 0 评论 -
正则大全
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^匹配输入字符串的开始位置。如果设置转载 2017-05-31 13:18:22 · 426 阅读 · 0 评论 -
java在访问https资源时,忽略证书信任问题
java程序在访问https资源时,出现报错sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to转载 2017-05-16 20:43:58 · 3565 阅读 · 2 评论 -
Java多线程速记
内存:所有的变量都存储在主内存,但每条线程有工作内存,线程间传递内存需要主内存帮忙。线程实现:1.使用内核线程实现-使用内核线程的高级接口—轻量级进程(即线程),创建、析构、同步都需要进行系统调用。2.使用用户线程实现-阻塞,多处理器等问题无法处理3.用户线程+轻量级进程混合实现。Win和linux 一对一的线程模型实现的,一条Java线程就映射到一条轻量级进程之中Thread.yield原创 2017-03-06 00:11:35 · 292 阅读 · 0 评论 -
myeclipse2014 配合git ssh提交
今天起重新开始用myeclipse,并且配合git提交,HTTPS每次提交都要配置地址,账号密码,太麻烦了。想改成SSH提交,把老的key拷了黏过来,再去提交发现myeclipse居然卡住了,然后报错查了下日志(Myeclipse2014的git提交插件应该也是java写的)java.lang.reflect.InvocationTargetException at org.原创 2017-02-20 23:34:44 · 1784 阅读 · 0 评论 -
深度剖析ConcurrentHashMap
还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多面试书中都说到:HashMap是非线程安全的,HashTable是线程安全的。那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线程安全的,内部怎么实现的,通通不了解。今天我们将深入剖析一个比HashTable性转载 2017-02-18 12:31:02 · 250 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构转载 2017-02-18 13:18:43 · 259 阅读 · 0 评论 -
Java8系列之重新认识HashMap
Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是转载 2017-02-20 09:20:27 · 317 阅读 · 0 评论 -
Java反射机制详解
1反射机制是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2反射机制能做什么反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断转载 2017-03-01 23:21:45 · 293 阅读 · 0 评论 -
JVM常用参数
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2017-02-22 18:00:55 · 314 阅读 · 0 评论 -
六大原则-23种模式速记
六大原则:1、开闭原则(对扩展开放,对修改关闭)2、里氏代换原则(任何基类可以出现的地方,子类一定可以出现)3、依赖倒转原则(真对接口编程,依赖于抽象而不依赖于具体。)4、接口隔离原则(使用多个隔离的接口,比使用单个接口要好)5、迪米特法则(:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立)6、合成复用原则(原则是尽量使用合成/聚合的方式,而不是使用继原创 2017-03-05 17:06:55 · 480 阅读 · 0 评论 -
JVM-内存划分,回收速记
内存划分:程序计数器(恢复先),虚拟机栈(动态链接,方法出口),本地方法栈(Native方法)=随线程而生,随线程而灭。直接内存。方法区(类,常量,静态变量,编译后代码8),堆(对象实例,老)。-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=../logs.dump. 对象已死:标记两次。1.应用计数算法,+1-1,无法解决循环引用。原创 2017-03-05 17:09:20 · 258 阅读 · 0 评论 -
记一个关于volatile作状态标志的很奇怪的问题
看了不少书,讲了很多关于volatile的知识,但是对于volatile一直很疑惑,问题之一,就是关于volatile的经典例子,我第一个就跑不通,比如下面的经典代码class StopTester { boolean shutdownRequested; public void shutdown() { shutdownRequested = true; System.o原创 2017-05-21 18:54:59 · 745 阅读 · 0 评论