- 博客(18)
- 收藏
- 关注
原创 调试JDK源码-一步一步看HashMap怎么Hash和扩容
还是调试源码最好。开发环境 JDK1.8+NetBeans8.1说明:调试HashMap的 public V put(K key, V value) 方法并查看key的值时不能显示变量的值,原因在于oracle提供的jre中rt.jar不带debug信息。orcale在编译src时使用了 javac -g:none,意思是不带任何调试信息,这样可以减小rt.jar的大小。若想正常调试
2016-03-17 10:54:15 9248 5
原创 调试JDK源码-ConcurrentHashMap实现原理
Map cm = new ConcurrentHashMap(); for (int i = 0; i < 20; i++) { cm.put((char) (i + 65) + (char) (i + 66) + (char) (i + 67) + "", i + ">>>http://blog.csdn.net/unix21/"); }
2016-03-18 10:56:46 1409
原创 调试JDK源码-Hashtable实现原理以及线程安全的原因
Hashtable是线程安全的,我们从源码来分析 代码很简单Hashtable ht = new Hashtable(); ht.put("111", "http://blog.csdn.net/unix21/"); ht.put("222", "www.csdn.net"); ht.put("333", www.java.com);
2016-03-18 10:00:52 8053 1
原创 调试JDK源码-HashSet实现原理
先看此文:调试JDK源码-一步一步看HashMap怎么Hash和扩容 代码 Set s=new HashSet(); s.add("http://blog.csdn.net/unix21"); s.add("ABCDEF"); s.add("123456"); hashSet是基于hashMap的 add
2016-03-17 14:13:15 1168
原创 Linux环境编译安装OpenJDK
Centos6.5 AMD64位机器Java的源码是C,C++和Java实现的,所以还需要有一个安装好的java建议选OracleJDK参考文末安装OracleJDKLinux环境安装卸载JDK以及安装Tomcat和发布Java的web程序安装依赖 | Install dependence# yum -y install gcc gcc-c++ alsa-lib als
2016-03-16 23:05:01 4108
原创 HashMap和ConcurrentHashMap研究
public class ConcurrentHashMap extends AbstractMap{...public V putIfAbsent(K key, V value) { return putVal(key, value, true); }final V putVal(K key, V value, boolean onlyIfAbsent
2016-03-16 14:02:51 573
原创 Shiro源码学习之二
3.subject.logintry { subject.login(token); } catch (AuthenticationException ae) { logger.info("登录失败!"); return; }login方法public void lo
2016-03-15 12:37:10 2438 1
原创 Shiro源码学习之一
1.lock与unlockif (account.isLocked()) { throw new LockedAccountException("Account [" + account + "] is locked."); }参考:Java中锁的应用之-Lock
2016-03-15 09:24:31 1716
原创 常用Maven收集以及Maven技巧
完整的Maven的pom.xml 4.0.0 org.me ... 2.0.0 jar UTF-8 1.8 1.8 junit junit 4.12
2016-03-12 09:02:51 601
原创 单例模式
最简单的单例package org.me.javaapp.singleton;import org.me.javaapp.util.DateUtil;public class Singleton { private Singleton() { try { System.out.println("Singleton is 初始化开始>>>"
2016-03-10 20:23:17 488
原创 Apache commons-io
添加引用 commons-io commons-io 2.4 按行写: public static void writeFileLineByApacheIO(String fileContent) throws IOException { String
2016-03-10 20:21:14 518
原创 Spring MVC 4
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */packag
2016-03-09 19:26:27 709
原创 Java动态加载一个类的几种方法以及invoke
接口IUserpackage org.me.javaapp;/** * * @author Administrator */public interface IUser { }User.java/* * To change this license header, choose License Headers in Project Propertie
2016-03-09 15:46:19 9425
原创 JAX-WS Web 服务开发调用和数据传输分析
增加一个add的服务import javax.jws.WebService;import javax.jws.WebMethod;import javax.jws.WebParam;/** * * @author Administrator */@WebService(serviceName = "CalculatorWS")public class CalculatorWS
2016-03-08 16:26:47 1099
原创 框架源码学习笔记
[email protected]提供@WebListener注解将一个实现了特定监听器接口的类定义为监听器,这样我们在web应用中使用监听器时,也不再需要在web.xml文件中配置监听器的相关描述信息了。Web应用启动时就会初始化这个监听器@WebListenerpublic class MyServletContextListener implements
2016-03-07 22:18:46 891
原创 支撑Spring的基础技术:泛型,反射,动态代理,cglib等
1.静态代码块和非静态代码块以及构造函数出自尚学堂视频:《JVM核心机制 类加载全过程 JVM内存分析 反射机制核心原理 常量池理解》public class Parent { static String name = "hello"; //非静态代码块 { System.out.println("1"); } //静态代...
2016-03-01 22:50:28 5525
原创 PHP数据库连接池SQL Relay安装使用
SQL Relay按照其官网http://sqlrelay.sourceforge.net/index.html上所说是:A powerful database connection management solution.翻译为中文也就是说SQL Relay是一个开源的数据库池连接代理服务器。目前SQL Relay支持的数据库很多:SQL Relay suppor
2016-03-01 17:56:00 1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人