java 基础
文章平均质量分 80
fing哥
爱好编程,对银行,理财,基金,股票等金融产品有丰富经验和兴趣。
展开
-
SnowflakeIdWorker的使用和体会
做到会用就行,至于Snowflake的算法实现 大概是通过位操作实现,不做深入计算。代码:package com.psbc.ifp.marketing.common.util;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;import java.原创 2021-04-12 10:23:22 · 795 阅读 · 0 评论 -
AOP 动态代理 的 源码分析
首先 写一个简单的 AOP测试文件:public void testProxy() {UserDAO userDAO = new UserDAOImpl();LogInterceptor li = new LogInterceptor();li.setTarget(userDAO);UserDAO userDAOProxy = (UserDAO)Proxy.newPro转载 2015-09-21 11:27:10 · 445 阅读 · 0 评论 -
hibernate 的SessionFactory的实现
老版本 是这么 实现的加载 配置文件 hibernate.cfg.xml: public Configuration configure() throws HibernateException {configure( "/hibernate.cfg.xml" );return this;}SessionFactory sf = new Annotation原创 2015-09-15 14:32:22 · 1038 阅读 · 0 评论 -
JDK源码 -- Map篇
在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。 Hashmap 实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),请看下图(横排表示数组,纵排表示数组元素【实际上是一个链表】)。 HashMap是一个 Entry 键值对原创 2015-09-11 15:27:57 · 652 阅读 · 0 评论 -
ThreadLocal详解
转载: http://blog.csdn.net/java_fancy/article/details/7439657我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是原创 2015-09-11 21:32:33 · 384 阅读 · 0 评论 -
JDK 源码笔记 -- List篇
ArrayList: public ArrayList(int initialCapacity) {super(); if (initialCapacity throw new IllegalArgumentException("Illegal Capacity: "+原创 2015-09-11 14:31:30 · 335 阅读 · 0 评论 -
JDK 源码 -- SET
HashSet 的 源码是由 HashMap 实现的,map的 keySet() 方法 返回的 就是 set 集 。构造方法 用的 HashMap的public HashSet() {map = new HashMap(); }public HashSet(int initialCapacity) {map = new HashMap原创 2015-09-11 15:49:11 · 421 阅读 · 0 评论 -
java 之 表达式中的陷阱
注意 String 加上 final 存在常量池,会执行 宏替换。String 是不可变的,所以在 使用经常需要 变换的 字符串时,最好 用 StringBuffer 和 StringBuilder, StringBuilder 是线程安全的,也是开销稍大的。java 不支持 泛型数组 ,因为 存在 擦除。java涉及原则:如果在编译期间没有发现转型错误,那么在运原创 2015-08-17 13:19:59 · 311 阅读 · 0 评论 -
java的对象与内存控制
实例变量属于 java对象 , 类变量属于类本身。实例变量的初始化 细节:实例变量的初始化时机,在程序创造该类的一个实例时,初始化 实例变量。 实例变量 可以在构造方法中初始化,可以在非静态块中初始化,也可以在定义实例变量时,指定初始值。类变量的初始化 细节: 类变量的初始时机:在程序初始化该类时,初始化 类变量。类变量 可以在静态块中初始化,也可以原创 2015-08-17 11:23:46 · 393 阅读 · 0 评论 -
java 之 面向对象的陷阱
java static 关键字的作用 :static 关键字 是 静态的意思,多个实例的 静态变量 共享同一块 内存空间。静态变量属于类变量。静态变量,静态方法在加载类的时候 就会 一起加载。static 可以修改 类,方法,变量,代码块 等。static 使用的基本规则是 什么?static 可以修饰同步方法, 静态内部类 和 非静态内部类: 静态内部类原创 2015-08-17 13:39:58 · 341 阅读 · 0 评论 -
java的内存回收
java引用的 功能 和 意义:java引用 分为 强引用,软引用,弱引用,虚引用。强引用 :直接 用变量指定 java对象,该变量一直存在于 内存,直到 该 java对象 消失回收,那么变量一起回收。软引用: 用变量指定 java对象,使用完变量后,将变量的值置为 null,如果 此时内存紧张,那么会将 该变量回收。弱引用: 用SoftReference实现, 具体查原创 2015-08-17 11:54:33 · 422 阅读 · 0 评论 -
java 基础概念 -- 数组与内存控制
问题1: Java在声明数组的过程中,是如何分配内存的?在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象。至于具体的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化。问题2: Java数组的初始化方式 有哪几种?两种:动态初始化 和 静态初始化,动态初始化 指的是 只指定数组的长度,不指明每个数组的元素。 静态初始化 指的是 具体指定数组的每一个元原创 2015-08-17 11:08:58 · 603 阅读 · 0 评论 -
"could not create the java virtual machine"启动eclipse报错 --
好东西 要转载。。 今天准备使用eclipse写python脚本,刚启动eclipse,“啪”弹出一个messagebox,报错“could not create the java virtual machine ”,晕了,前段时间还用它写过程序,怎么突然出这种错误,打开任务管理器一看,因为开了几个VS2005,内存已经被消耗得差不多了,本来2048M的内存,现在只剩下700多转载 2015-08-31 11:12:57 · 625 阅读 · 0 评论 -
纠结的小问题
1 ant 环境配置 build.xml 参数 ant projectonline2 String类无法解析,因为误删了JRE build path --> add library --> JRE System Library3 alt + / 是content assists的意思,不是word completion; properties-->general原创 2012-09-27 00:19:22 · 5579 阅读 · 0 评论 -
javadoc的使用以及打印命令行参数的程序
利用注释生成文档myeclipse中,javadoc的使用 export-->javadoc-->路径 打印命令行获得的参数 利用随机流(RandomAccessFile)读写,先全部输入到终端,再写入文件(.txt),然后读取(scanner)。public static void main(String[] args) { for (int原创 2012-06-20 15:03:51 · 989 阅读 · 0 评论 -
switch的一点用法
public Instrument next(){switch(rand.nextInt(5)){default:case 0:return new Wind();case 1:return new Percussion();case 2:return new Stringed();case 3:return new Brass();case 4:return new原创 2012-06-20 14:54:54 · 538 阅读 · 0 评论