![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
j2ee
文章平均质量分 79
猿与禅
think more , write less , more value !
君子藏器于身,待时而动,争其必然,顺其自然
展开
-
设计模式-单例模式-java
应用场景: 1、产生某对象会消耗过多的资源,为避免频繁地创建与销毁对象对资源的浪费。如: 对数据库的操作、访问 IO、线程池(threadpool)、网络请求等。 2、某种类型的对象应该有且只有一个。如果制造出多个这样的实例,可能导致:程序行为异常、资源使用过量、结果不一致等问题。如果多人能同时操作一个文件,又不进行版本管理,必然会有的修改被覆盖,所以: 一个系统只能有:一转载 2017-05-16 19:59:21 · 257 阅读 · 0 评论 -
java-collection-List
结构 特点 有序集合(也称为序列)。这个用户接口对每个元素在列表中的位置有精确控制 插入,用户可以通过其整数索引访问元素 位置在列表,并搜索列表中的元素。列表通常允许重复元素。列表通常允许元素e1和e2 e1.equals(e2), 他们通常允许多个null元素 实现一个禁止重复的列表是不可想象的 当用户插入他们的时候,通过抛出运行时异常,但是我们期望较少采用这种用法。List...转载 2018-07-02 12:25:51 · 115 阅读 · 0 评论 -
jdbc-jdbc4.0
javax.sql是主要的包新功能自动数据库驱动程序加载 异常处理的改进 增强的BLOB/ CLOB功能 连接和语句界面增强 国家字符集支持 SQL ROWID访问 SQL 2003 XML数据类型支持 注释转载 2017-05-24 00:51:01 · 515 阅读 · 0 评论 -
java-static关键字
方便在没有创建对象的情况下来进行调用(方法/变量)。static方法static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。 禁止在静态成员方法中访问非静态成员方法,在非静态成员方法中是可以访问静态成员方法/变量的static变量静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是...转载 2018-06-19 14:46:41 · 99 阅读 · 0 评论 -
java-collection-HashMap
结构数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表 那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案...翻译 2018-06-29 05:48:17 · 545 阅读 · 0 评论 -
java-面试题
https://github.com/HuangQinJian/Interview-Questions转载 2017-06-06 10:04:29 · 245 阅读 · 0 评论 -
java-操作csv文件
写import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.nio.cha...转载 2019-02-12 23:40:36 · 735 阅读 · 0 评论 -
java-collection-Map
特点 将键映射到值的对象。Map不能包含重复的键;每个键可以映射至多一个值。 替代Dictionary,是一个完全抽象的类,而不是一个接口。 Map接口提供三个集合视图< /I>,其中允许将Map的内容视为一组键、值的集合,或一组键值映射。 Map的order定义为映射集合视图上的迭代器返回它们的顺序元素。 一些映射实现,如TreeMap类,使对其顺序的具体保证,其他的Map...翻译 2018-06-29 22:29:24 · 105 阅读 · 0 评论 -
java-并发编程-概念
进程 应用程序的执行实例应用程序, 只有执行时 才叫进程 每一个进程都对应操作系统中应用程序的一个执行实例特点1、动态性 启动应用程序 创建进程 给进程分配相应的资源,关闭占用资源会释放 动态产生、动态消亡2、并发性 可同时运行多个应用程序,让它们各自完成不同的任务,系统中所有进程都可以与其他进程一起并发执行,但是一个CPU在某个给定的时刻 只能处理一个应用程序 操作系统利用时间片轮转 或转载 2017-05-25 21:28:15 · 254 阅读 · 0 评论 -
java-线程池-工具类
汇总JDK自带的四个常用线程池的用法package thread.pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurre原创 2017-03-09 14:26:17 · 2110 阅读 · 0 评论 -
java-StringBuilder
易变的字符序列这个类提供了一个兼容的API使用 {@code StringBuffer},但不能保证同步。该类被设计为用于替换{@code StringBuffer} (一般情况下 一个单独的线程处理字符串缓冲区) 可能的话,建议优先使用此类。{@code StringBuilder} 主要操作是append和insert 方法。他们重载以便于接受任何类型的数据。每个有效将给定的数据转换为字符...翻译 2018-07-03 17:23:33 · 463 阅读 · 0 评论 -
java-try catch中return在finally之前 还是之后执行
finally语句在return语句执行之后return返回之前执行的。finally块中的return语句会覆盖try块中的return返回。如果finally语句中没有return语句覆盖返回值,那么原来的返回值可能因为finally里的修改而改变也可能不变try块里的return语句在异常的情况下不会被执行,这样具体返回哪个看情况。当发生异常后,catch中的return执行情况与...转载 2018-06-18 13:16:48 · 4733 阅读 · 0 评论 -
java-常用集合的特点
ArrayList 基于数组,在数组中搜索和读取数据是很快的。因此 ArrayList 获取数据的时间复杂度是O(1); 添加、删除时该元素后面的所有元素都要移动,所以添加/删除数据效率不高; 每次达到阈值需要扩容,影响效率。ArrayList的随机访问更高,基于数组实现的ArrayList可直接定位到目标对象,VectorVector是线程安全的, 由于Vector中的方法基本都是sync转载 2017-09-24 23:12:59 · 499 阅读 · 0 评论 -
java-对象的生命周期
类实例化 实例化类的四种途径: 1.new操作符 2.调用Class或者java.lang.reflect.Constructor对象的newInstance()方法 3.现有对象的clone(); 4.java.io.ObjectInputStream类的getObject()方法 6.隐含创建: 保存命令行参数的String对象; 每一个命令行参数都会有一个String对象的...原创 2018-06-19 21:04:37 · 423 阅读 · 0 评论 -
java-final关键字
在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量) final会告诉编译器,这个数据是不会修改的,那么编译器就可能会在编译时期就对该数据进行替换甚至执行计算,这样可以对我们的程序起到一点优化 修饰类 表明这个类不能被继承,final类中的所有成员方法都会被隐式地指定为final方法修饰方法把方法锁定,以防任何继承类修改它的含义;在早期...转载 2018-06-19 13:35:50 · 922 阅读 · 0 评论 -
jdbc-maven添加驱动包
mysql<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version></dependency>oracle下载ojdbc.jar http://www.oracle.com/technetwork/database原创 2017-05-24 00:48:21 · 16905 阅读 · 0 评论 -
java-架构(1.8)
对于java工程师来说,java基础比任何框架都重要,是造房子原材料架构源码原创 2017-05-21 23:18:38 · 252 阅读 · 0 评论 -
java函数式编程-Stream-collect()练习
java函数式的本质 个人感觉 就是把抽象的接口当做函数处理的引用 去除了面向对象的细节import com.google.common.collect.ImmutableList;import com.google.common.collect.Lists;import java.math.BigDecimal;import java.util.*;import java.util....原创 2019-04-09 19:40:25 · 643 阅读 · 0 评论 -
java-String
String表示字符串,所有java程序中的字符串文字 如{@code “abc”} 作为该类的实例实现。String对象一旦被创建就是固定不变的了,对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象”。new创建字符串时首先查看池中是否有相同值的字符串,如果有,则拷贝一份到堆中,然后返回堆中的地址;如果池中没有,则在堆中创建一份,然后返回堆中的地...翻译 2018-07-03 14:31:44 · 171 阅读 · 0 评论 -
java-collection-LinkedHashMap
Map接口的哈希表和链表实现结构特点 可预测的迭代顺序。它维护一个双链表。 所有的条目。这个链表定义了迭代排序, 通常是键插入到Map中的顺序。 注意插入顺序不受影响。链表 定义了迭代顺序,按照插入的顺序, 插入顺序不受影响 如果一个key重新插入到map当中一个key重新插入到map中 如果m.put(k,v)被调用 m.containsKey(k) 会返回tru...转载 2018-06-29 18:29:34 · 406 阅读 · 0 评论 -
计算机基础-数据结构
树二叉树叶子节点都在最后一层 节点总是是2N次方-1 n层数完全二叉树完全二叉树 叶子节点在最后一层或倒数第二层最后一层的叶子节点在左边连续倒数第二层的叶子节点在右边连续连续 不连续只考虑完全二叉树第n个元素的左子节点下标为2n+1第n个元素的右子节点下标为2n+2第n个元素的父节点下标为(n-1)/2n表示二叉树的第几个元素 按0开始编号顺序存储二叉树数组存储方式和数的存储方式 相互转换数组可以转换成树 树可以转换成数组要求:1)二叉树右图的数据节点 要求以数组的方式存放原创 2021-05-19 11:01:05 · 440 阅读 · 1 评论 -
java实践-netty
概述应用场景IOBIOpackage com.atguigu.bio;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class BIOServer {原创 2021-07-03 13:01:26 · 193 阅读 · 0 评论 -
java-类的生命周期
一个java文件从被加载到被卸载这个生命过程,总共要经历5个阶段,JVM将类加载过程分为: 加载-&amp;gt;链接(验证+准备+解析)-&amp;gt;初始化(使用前的准备)-&amp;gt;使用-&amp;gt;卸载 装载 装载 二进制形式的java类型读入java虚拟机中通过该类型的完全限定名 产生一个代表该类型的二进制数据流 解析二进制数据流为方法区内的内部数据结构 创建一个表示该类型...转载 2018-06-19 17:05:39 · 239 阅读 · 0 评论 -
java-Collection-LinkedList
结构 特点 List Deque的双链表实现,实现所有的List操作 允许所有元素为null; 索引到列表的操作将会遍历list 从开始或者结束 更接近指定的索引 LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedL...转载 2018-07-02 13:26:31 · 143 阅读 · 0 评论 -
java-常见开源库2
activation.jar 与javaMail有关的jar包,使用javaMail时应与mail.jar一起加入到lib中去,具体负责mail的数据源和类型等。antlr.jar Hibernate用这个包来生成HQL语句并执行,是hibernate的必须包,没有它就会报NoClassDefFoundError: antlr/ANTLRException错误。ajaxtags-1.2-beta转载 2017-06-11 08:22:51 · 1070 阅读 · 0 评论 -
java-map转bean
1、利用Introspector,PropertyDescriptor实现 Map –> Beanpublic static void transMap2Bean(Map<String, Object> map, Object obj) { try { BeanInfo beanInfo = Introspector.getBeanInfo(obj.getCla原创 2017-05-26 00:30:25 · 677 阅读 · 0 评论 -
java-Enumeration
*实现枚举接口的对象生成一系列元素,一次一个。连续呼叫nextElement返回连续元素系列。 例如,打印Vector元素 v for (Enumeration<E> e = v.elements(); e.hasMoreElements();) System.out.println(e.nextElement());提供方法来枚举A的元素 vecto...转载 2018-06-30 21:02:11 · 407 阅读 · 0 评论 -
java-Set-HashSet
特点 实现了Set接口 HashSet依赖的数据结构是HashMap 因为实现的是Set接口,所以不允许有重复的值 插入到HashSet中的对象不保证与插入的顺序保持一致。对象的插入是根据它的hashcode HashSet中允许有NULL值 HashSet也实现了Searlizable和Cloneable两个接口初始化尺寸就是当创建哈希表(HashSet内部用哈希表的数据结构)的...转载 2018-07-02 19:14:43 · 209 阅读 · 0 评论 -
java-命令
java.exe:运行java程序javac.exe:编译的Java程序,生成.class文件javaw.exe:功能:跟java命令相对的,可以运行.class文件,主要用来执行图形界面的java程序运行java命令时,会出现并保持一个console窗口,程序中的信息可以通过System.out在console内输出,而运行javaw,开始时会出现console,当主程序调用之后,console就转载 2017-03-15 06:46:34 · 353 阅读 · 0 评论 -
java-Formatter
printf-style的格式化字符串解释器。这个类为布局对齐、数字和字符串和时间数据以及特定区域的输出提供通用格式支持。普遍的java类型 例如byte {@link java.math.BigDecimal BigDecimal}, and {@link Calendar} *是支持的 通过Formattable接口限制任意用户自定义的类型格式。Formatters 对于多线程访问不...翻译 2018-07-03 20:32:18 · 919 阅读 · 0 评论 -
j2ee-规范-jdbc四种驱动
1 JDBC-ODBC桥 :桥接器型的驱动程序, 2 部分本地API部分Java的驱动程序,也是桥接器型驱动程序之一 3 JDBC网络纯Java驱动程序 4 本地协议的纯 Java 驱动程序原创 2017-05-27 06:56:11 · 973 阅读 · 0 评论 -
java-Reference
引用对象的抽象基类。这个类定义了所有引用对象的共同操作。因为引用对象是与垃圾收集器密切合作实现,这个类可以不可直接实现子类。引用的四种状态:Active:受垃圾收集器的特殊处理。一些在收集器检测到可到达性之后的时间引用已经更改为适当的状态,它改变了实例状态为挂起或不活动,取决于实例是否在队列中注册Pending:待定引用列表中的一个元素,等待由引用处理程序线程入队。未注册实例从未处于这...翻译 2018-07-01 14:55:48 · 159 阅读 · 0 评论 -
java-并发读取数据库
List&lt;Map&lt;String, Map&lt;String, String&gt;&gt;&gt; data = new ArrayList&lt;&gt;(13); //线程池 ExecutorService threadPool = Executors.newFixedThreadPool(5);原创 2019-02-13 00:27:01 · 2005 阅读 · 0 评论 -
java-collection-Set
特点 不包含重复元素的集合,确切地说,集合不包含一对元素e1和e2 e1.equals(e2) 最多是一个空元素。这个接口是模拟数学的Set抽象概念Collection所有的构造方法和add equals hashcode方法规范 中, 特殊的实现已经被Set接口裁剪Set 中 所有的构造器必须创建一个set 没有重复元素 注意:如果使用可变对象作为集合元素,则必须非常小心 ...翻译 2018-07-02 18:29:07 · 290 阅读 · 0 评论 -
java-Cloneable接口
特点一个类实现了Cloneable接口 指向@link java.lang.Object#clone()} 方法是合法的 使得一个 field-for-field copy的类的实例的拷贝在不实现Cloneable接口的对象上调用Object的clone方法 会导致CloneNotSupportedException异常抛出。按照约定,实现此接口的类应当重写Object.clo...转载 2018-07-02 17:31:30 · 8665 阅读 · 0 评论 -
java-数字精确运算工具类
由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精确的浮点数运算,包括加减乘除和四舍五入。import java.math.BigDecimal;public class Arith{ //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; //这个类不能实例化 private Arith(){ ...转载 2019-02-12 19:43:52 · 654 阅读 · 0 评论 -
java设计思想-池化-手写线程池
模拟jdk线程池实现,自己开发一个线程池作用 1、线程池能重用线程对象,减少创建和销毁线程时资源的开销; 2、能控制最大并发数; 3、线程池可以对线程进行管理,如定时、定期、单线程、并发数控制等代码实现线程池接口,方便扩展import java.util.List;public interface ThreadPool { void execute(Runn...转载 2018-05-07 14:43:57 · 1617 阅读 · 0 评论 -
java-函数式编程-设计模式
命令模式package pattern;import java.util.ArrayList;import java.util.List;public class CommandPattern { public static void main(String[] args) { Editor editor = new Editor() { ...转载 2019-03-22 20:21:05 · 502 阅读 · 0 评论 -
j2EE-获取资源路径
java获取src下文件路径和获取webRoot下文件路径获取src下的fileurl.properties文件路径this.getClass().getResource("/fileurl.properties").getPath()【this.getClass().getResourceAsStream(“/”+Basic.dll);】—-jar中的class获取jar内部的资转载 2018-01-11 15:14:14 · 753 阅读 · 0 评论 -
阿里巴巴Java开发手册
一、编程规约1.如果使用到了设计模式,建议在类名中体现出具体模式将设计模式体现在名字中,有利于阅读者快速理解架构设计思想。2.相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object可变参数必须放置在参数列表的最后,尽量不用可变参数编程。3.对外暴露的接口签名,原则上不允许修改方法签名,避免对接口调用方产生影响接口过时必须加@Deprecated 注解,并清晰地说明采用的转载 2017-03-14 19:53:43 · 673 阅读 · 0 评论