JAVA
文章平均质量分 69
Tiglle
这个作者很懒,什么都没留下…
展开
-
jdk8下HashMap源码分析实现原理
1.HashMap继承:抽象类AbstractMap实现:接口Map、Cloneable、Serializable2.HashMap的初始化四个构造函数:先看看无参构造函数构建一个HashMap实例,并初始化loadFactor=DEFAULT_LOAD_FACTOR来看看loadFactor和DEFAULT_LOAD_FACTOR这两个属性的定义:注释为:hash表的加载因子注释为:当构造函数没有指定加载因子时使用此值可以看到无参够咱函数的加载因子默认为0.75至于加载因子原创 2021-03-08 20:14:26 · 261 阅读 · 0 评论 -
jdk8下LinkList源码分析实现原理
1.LinkedList继承:抽象类AbstractSequentialList实现:接口List、接口Cloneable、接口Serializable2.LinkedList的初始化两个构造函数:先看看无参构造函数注释说的是:构建一个空的list,那么new LinkedList()得到的是一个怎么样的实例呢?通过断点,发现这几个属性:size=0,first=null,last=null,也说明了各自的作用,那么怎么实现的呢先看看者几个属性的定义:size:顾名思义,就是L原创 2021-03-06 22:22:43 · 190 阅读 · 3 评论 -
jdk8下ArrayList源码分析实现原理
1.ArrayList继承抽象类AbstractList实现接口RandomAccess、Cloneable、Serializable2.ArrayList的初始化ArrayList的构造函数有3个,通过new出这三个构造函数即可得到ArrayList实例那么这三个构造函数初数化的时候都做了什么操作呢?有什么区别呢?先看看无参构造函数源码其中有两个属性:elementData和DEFAULTCAPACITY_EMPTY_ELEMENTDATA,来看看定义:可以看到,elementDa原创 2021-03-05 20:09:46 · 295 阅读 · 2 评论 -
java模拟链表并实现链表数据反转
import java.util.concurrent.ExecutionException;public class Test { public static void main(String[] args) throws ExecutionException, InterruptedException { Unit u1 = new Unit("A",1,null); Unit u2 = new Unit("B",2,null); Unit原创 2021-03-03 17:14:50 · 146 阅读 · 2 评论 -
java的Fork/Join框架
1.ForkJoinWorkerThread:执行ForkJoin任务的线程。2.ForkJoinPool:管理执行ForkJoin任务线程的线程池3.ForkJoinTask:ForkJoinPool中的任务RecursiveAction 一个递归无结果的ForkJoinTask(没有返回值)RecursiveTask 一个递归有结果的ForkJoinTask(有返回值)Task类:import java.util.concurrent.RecursiveTask;public原创 2021-03-02 17:31:05 · 128 阅读 · 0 评论 -
Java读取classpath下的文件
http://blog.csdn.net/jiaobuchong/article/details/52422954转载 2017-08-31 22:41:40 · 660 阅读 · 0 评论 -
JAVA解析Excel
一.Excel解析的几种实现方式 1.JXL(较少使用) 2.POI(常用) 3.FastExcel(基本不用)二.实例 1.JXL(先导入jxl的包 )package com.tiglle.jxl;import java.io.File;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;原创 2017-08-27 22:52:30 · 1078 阅读 · 0 评论 -
Java导出Excel的工具类
1.pom和需要导入的jar信息<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs原创 2017-08-25 16:50:34 · 407 阅读 · 0 评论 -
解析xml模板导出Excel
1.pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven原创 2017-09-03 22:45:16 · 4174 阅读 · 0 评论 -
比较好用的java导出大数据量Excel
转载于:http://blog.csdn.net/u010003835/article/details/51590101 注:代码还没仔细研究过……………..原理:指定条数生成一个Excel文件,写入到本机,然后将这些Excel一起打成一个压缩包,发给客户端.1.将多个文件一起生成压缩文件和设置Http响应头的Utilspackage com.tiglle.utils;import java.i原创 2017-08-21 17:38:45 · 2926 阅读 · 0 评论 -
Java设计模式1:策略模式
一.策略模式 1.介绍: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的多个实现类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 2.角色划分: 环境(Context):持有一个Strategy的引用。 抽象策略(Strategy):这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接原创 2017-11-05 18:40:27 · 360 阅读 · 0 评论 -
Java设计模式2:观察者模式1
一.观察者模式 1.观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新 2.它将观察者和被观察者的对象分离开。提高了应用程序的可维护性和重用性。 3.实现观察者模式有很多形式,一种是“注册—通知—撤销注册”的形式。 4.分类: Subject(主题) Observer(观察者) 二.案例 1.气象站的数据被各大电视台原创 2017-11-06 23:43:22 · 363 阅读 · 0 评论 -
Java设计模式2:观察者模式2(使用java内置的观察者)
一.使用java内置的观察者 1.介绍: 在java.util包中包含有基本的Observer接口和Observable抽象类.功能上和Subject接口和Observer接口类似.不过在使用上,就方便多了,因为许多功能比如说注册,删除,通知观察者的那些功能已经内置好了.2.如何使对象变为观察者: 实现观察者接口(java.util.Observer),然后调用Observable对象的add.........原创 2017-11-07 21:11:38 · 787 阅读 · 0 评论 -
Java设计模式3:装饰者模式
一.装饰者模式 1.介绍: 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。2.参与者: ◆抽象组件(Component): 所有组件和装饰者的超类,装饰者和被装饰(组件)对象要有相同的超类型 ◆具体组件(ConcreteComponent): ConcreteComponent是我们将要动态地加上新行为 (装饰者) 的对象,它扩展自Compone............原创 2017-11-09 18:13:41 · 639 阅读 · 1 评论 -
org.apache.commons.collections.CollectionUtils高效遍历的使用
api地址:http://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/index.htmlorg.apache.commons.collections.CollectionUtils:1.static Collection select(Collection inputCollection, Predicate原创 2017-11-27 16:03:01 · 3559 阅读 · 0 评论 -
java的枚举enum根据code获取name等
public enum PlatformFree{ FREE("free","卖家包邮"), POST("post","平邮"), EXPRESS("express","快递"), EMS("ems","EMS"), VIRTUAL("virtual&原创 2018-09-08 15:00:56 · 44585 阅读 · 3 评论 -
java8和java7的匿名内部内访问局部变量的问题
1.jdk7匿名内部内访问局部变量会直接编译不通过:2.jdk8匿名内部内访问局部变量编译不报错,会通过但是改变赋值时会报错:原创 2019-05-15 17:28:25 · 353 阅读 · 0 评论 -
比较好用的java导出大数据量Excel
注:代码还没仔细研究过……………..原理:指定条数生成一个Excel,然后将这些Excel一起打成压缩包,发给客户端.1.将多个文件一起生成压缩文件的Utilspackage com.tiglle.utils;import java.io.File;import java.io.FileInputStream; import java.io.FileOutputStream; import转载 2017-07-07 11:43:09 · 772 阅读 · 0 评论 -
JAVA的注解Annotation
一.介绍 二.java提供的5个基本的Annotation的使(定义在java.lang包下) 1.@Override 2.@Deprecated 3.@SuppressWarnings 4.@SafeVarargs 堆污染警告 5.@Functionalinterface 三.JDK的元Annotation(定义在java.lang.annotation下) JDK还翻译 2017-08-22 22:08:42 · 337 阅读 · 0 评论 -
java泛型2,通配符?专辑(以及泛型其他特性)
一.很重要的概念:?是实际参数,不是形式参数。 1.?实际参数,也就是使用的时候传的参数,不是定义的时候使用的参数。?关键字不能用在泛型的类型定义上。二.?详解 1.?是一个通配符,称为泛型通配符。 2.?代表未知的类型,也代表任何类型。三.?泛型通配符的特性 1.?作为泛型类型的实际参数,代表这个泛型类型为未知类型。 2.?类型作为泛型类型实际参数,代表这个 泛型代表的类 的 类型为 未原创 2017-08-14 15:31:31 · 257 阅读 · 0 评论 -
遍历map
Set<Entry<String, String>> entries = testData.entrySet();for (Entry<String, String> entry : entries) { System.out.println(entry.getKey()+":"+entry.getValue()); }原创 2017-03-26 14:03:26 · 313 阅读 · 0 评论 -
double计算的工具类
public static double dmul(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.multiply(b2).doubleValue(原创 2017-03-26 14:06:12 · 376 阅读 · 0 评论 -
Iterator的使用
Iterator it = list. iterator(); While(it.hasNext()){ String a = it.next(); if(a.equals(“移除”)){ it.remove(); } }原创 2017-03-26 14:09:26 · 314 阅读 · 0 评论 -
Java classpath的作用 http://m.blog.csdn.net/article/details?id=43155707
1.编译:要被直接编译的文件必须在当前目录。引入的文件可以放在classpath中,当在当前目录找不到,会去classpath中找引入的文件,找不到报错2.运行:当运行一个class文件时,和查找引入class文件时,会先默认在当前目录找此class文件,然后去classpath的路径去找。都找不到报错Classpath前面加.;表示先在当前目录寻找,找不到在从配置的多个classpath从左往右原创 2017-03-26 14:16:26 · 2693 阅读 · 0 评论 -
java同名全局变量和局部变量的问题
1.局部定义的变量能够覆盖全局范围内的变量(包括参数列表的变量)。在局部使用某个变量的时候JVM会优先找和当前使用位置”近”的变量的的定义!如果在局部定义了和全局变量一样的名字,我们使用的过程中,调用全局变量的话,会使用this关键字辅助。2.java一个{}代表一个作用域,js除了方法的{}代表一个作用域,其他都没有作用域限制,如for(){},if(){}原创 2017-03-26 14:16:59 · 3289 阅读 · 0 评论 -
java 参数类型Object...
1.Object…参数:用Object… o参数类型表示可以传n个任意类型的参数,o为Object[]类型 例方法: public void test(Object… o){ Object obj1 = o[0];//1 Object obj2 = o[1];//”小明” } 调用: test(1,”小明”);原创 2017-03-26 14:18:01 · 2527 阅读 · 0 评论 -
java的枚举
http://www.cnblogs.com/hyl8218/p/5088287.html原创 2017-03-26 14:21:02 · 280 阅读 · 0 评论 -
java的==和equals的区别
一.(==) 1.基本数据类型:比较的是值是否相等,因为基本数据类型的值都存在栈内存,并且多个变量的值相同会共享一个栈值。 2.引用数据类型:比较的是原创 2017-04-10 14:52:18 · 306 阅读 · 0 评论 -
java的反射
一.Class类 1.万物皆对象,对象时类的实例,类是java.lang.Class的实例(对象)2.如何获取Class类的类对象,三种方法 Class的构造方法时私有的,所有不能通过的new的方式创建 1.使用类都有的静态成员变量class,格式:类名.class; Class u1 = User.class; 2.使用类的实例对象的get原创 2017-05-01 20:49:54 · 280 阅读 · 0 评论 -
java的枚举
一.枚举的理解 1.限制类的对象,如个数,值不能更改,等。二.class模拟枚举类 class ClassEnumPerson.javapackage com.tiglle.enum1;public class ClassEnumPerson { //私有属性 private String name; private String sex; //私有化构造方法,让类原创 2017-04-16 18:56:48 · 254 阅读 · 0 评论 -
linux安装jdk和tomcat
http://www.cnblogs.com/Percy_Lee/p/5698612.html转载 2017-05-23 15:27:43 · 280 阅读 · 0 评论 -
JAVA虚拟机内存参照
https://my.oschina.net/sunnywu/blog/332870转载 2017-05-22 13:29:09 · 294 阅读 · 0 评论 -
随机红包算法
/** * * @param total * 红包总额 * @param count * 红包个数 * @param max * 每个小红包的最大额 * @param min * 每个小红包的最小额原创 2017-06-03 18:00:09 · 609 阅读 · 0 评论 -
JAVA虚拟机内存调节
-Xmx 堆的最大值 -Xms 堆的初始值或者最小值-Xss 栈内存大小(HotSpot不区分虚拟机栈和本地方法栈) -Xoss 设置本地方法栈大小(HotSpot无效,用-Xss)原创 2017-05-21 13:29:10 · 417 阅读 · 0 评论 -
为什么匿名内部类和局部内部类只能访问final变量
http://blog.csdn.net/salahg/article/details/7529091转载 2017-07-02 22:46:56 · 259 阅读 · 0 评论 -
List根据里面的对象属性的值进行排序
//根据优先级排序 Collections.sort(rules,new Comparator(){ public int compare(UserTempRuleGroupDetail rule1, UserTempRuleGroupDetail rule2) { //按照优先级进行升序排列原创 2017-08-11 12:00:29 · 793 阅读 · 0 评论 -
java泛型和自定义泛型T
在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出,也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进入到运行时阶段。1.泛型类T,U可以用在: 1.属性类型 2.方法返回值 3.方法参数类型public class User<T,U>{//T和U指定了t和u的变量类型,不使用T和U,默认为t和u为Object类型 private T t;原创 2017-03-26 14:20:43 · 5188 阅读 · 0 评论 -
Map的方法
Map.containsKey(Object key):map中有无此key,返回:true false Map.containsKey(Object value):map中有无此value,返回:true false原创 2017-03-26 14:02:51 · 343 阅读 · 0 评论