Java
团子ing
世界上没有奇迹,有的只是必然和偶然,还有谁做了什么。
展开
-
java学习之路的自我回顾1
前段时间一直在做一些android的项目开发,但是慢慢的觉得自身现在的知识储备已经完全不够用了,又因为之前学习java的经历太水,基本没学到什么东西,基本思路还停留在C/C++学习时期,因此打算重新把java在学习一遍,也算是一种对于自身的激励吧,将自身所学到的感觉重要的东西发上来。java中的数组1.java中的数组可以说和C++中有挺大的不同,首先说说java中数组的定义方式吧原创 2015-04-29 21:05:13 · 696 阅读 · 0 评论 -
Java并发:ReentrantLock源码分析
注:JDK1.7 对照源码效果更佳∠( ᐛ 」∠)_ 相关知识:队列同步器AbstractQueuedSynchronizer是用来构建锁或者其他同步组件的基础框架,它使用一个int变量(stats)来表示同步状态,并使用一个内置的FIFO队列来完成...原创 2018-05-24 16:45:08 · 1143 阅读 · 0 评论 -
Java并发:synchronized 实例方法同步/静态方法同步/实例方法中的同步块/静态方法中的同步块 理解
Java中的同步块用synchronized标记。同步块在Java中是同步在某个对象上。所有同步在一个对象上的同步块在同时只能被一个线程进入并执行操作。所有其他等待进入该同步块的线程将被阻塞,直到执行该同步块中的线程退出。并且存在4中不同的同步块 1.实例方法 2.静态方法 3.实例方法中的同步块 4.静态方法中的同步块在分别讲这4个同步块的区别前需要首先了解下Java中s...原创 2018-04-23 10:09:43 · 2621 阅读 · 0 评论 -
Java:ArrayList源码分析(JDK1.7)
ArrayList源码分析注:JDK1.7 首先先来个总体的认识,ArrayList底层是用数组实现的。在插入值时如果超过了当前数组的大小,则会进行扩容操作,每次增加的大小为原来大小的“一半”(偶数一半,奇数减一的一半),并且按照新的大小新建一个相同类型的数组,然后将原数组中的值copy进新的数组,并修改引用。 默认创建ArrayList情况下: 然后了解下ArrayList继承和实...原创 2018-04-18 10:33:46 · 319 阅读 · 0 评论 -
Java:HashMap源码分析(JDK 1.7)
HashMap源码分析注:JDK 1.7 首先先总体概括下吧,在1.7中,HashMap是由数组+链表的形式组成的(1.8中当HashMap达到一定大小后会使用红黑树),具体如下。/*数组部分:table 链表部分:Entry<K,V>类含有一个指向Entry<K,V>类对象 的next “指针”*/static final Entry<?,?>...原创 2018-04-16 16:46:27 · 580 阅读 · 0 评论 -
Java Integer比较中的那些坑
前几天同事偶然遇到的一个问题,在list中查询出重复的值,留下第一个,其余删除。ArrayList<Integer> a//a中装有要操作的数据,都是数字for(int i;i<a.size();i++){ //....遍历 for(int j=i;j<a.size();j++){ if(a.get(i)==a.get(j)){ a.remove(j原创 2017-02-24 16:28:54 · 1794 阅读 · 0 评论 -
(1)Java虚拟机:Java内存区域与内存溢出异常
Java虚拟机内存划分 程序计数器: (1)线程私有。 (2)记录当前线程所执行的程序码位置。因为一个程序可能会出现多个线程,而多个线程执行时又是交替执行的,所以就需要记录各个线程的执行位置,以便之后继续执行。 (3)如果一个线程正在执行Java方法,则其计数的值为正在执行的虚拟机字节码指令的地址;如果是Native方法(调用C,C++等其他语言),则计数为 undefined。 ...原创 2017-11-21 17:14:25 · 315 阅读 · 0 评论 -
Java遍历文件夹&判断是否存在某一类型的文件
大致思路就是使用File.list()来获取所要遍历的文件夹的子文件名,然后通过递归实现子文件夹的遍历,最终达到遍历整个文件夹的目的,并在遍历过程中通过获得的文件名后缀来判断文件类型。但是因为递归,在时间复杂度上会很捉急就是了… 代码很简单package fileTest;import java.io.File;public class FileSearch { public static原创 2017-07-27 11:23:36 · 3175 阅读 · 0 评论 -
Java后台创建压缩包&使用浏览器下载文件(批量下载实现)
项目中所提出的需求,需要将指定的页面生成为pdf文件,然后进行下载,同时需要支持批量下载。 首先想到的就是先生成pdf文件,然后将其进行压缩,生成zip压缩文件,然后使用浏览器的下载功能即可完成批量下载的需求。//点击批量下载按钮所触发的js片段function getTeamReport(obj){ var temp_form = document.creat...原创 2017-06-02 17:29:29 · 11197 阅读 · 1 评论 -
java学习之路的自我回顾3(类2)
在java类中只能包含属性,构造器,方法,初始化块,内部类和枚举类6大类成员 关于一个类在程序中第一次被使用时程序所做的相关行动在上一篇中已经提到过,就不在赘述了通过static修饰的成员就是类成员 这里有一点比较绕,就是类属性,可以通过类来访问,也可以通过类对象来访问,就像上面提到的,类在第一次运行时会创建一块内存,现在就可以通过那里使用类来进行类属性的访问了;通过类对象来访问时,实际上不是经原创 2015-05-24 21:35:44 · 423 阅读 · 0 评论 -
java学习之路的自我回顾6(泛型1)
泛型1当使用集合时,可能会出现类型不统一的问题,从而导致程序报错。大多数的情况如下public static void main(String args[]){ List lList=new ArrayList(); lList.add("hello java"); lList.add("hello python"); lList.add("hello world"原创 2015-08-03 14:16:11 · 422 阅读 · 0 评论 -
java学习之路的自我回顾4(类3)
对象与垃圾回收 java的垃圾回收机制我记得之前也写到过,ta有以下几个特点 1.垃圾回收机制只回收堆内存中的数据,而不会回收物理数据,比如数据库连接,网络IO连接等 2.并不能控制垃圾回收机制,程序只会在没有引用对象引用时,才会启动垃圾回收机制 3.在垃圾回收机制回收对象前,总会启动finalize方法,该方法有可能重新给予对象一个引用,从而让该对象复活这里的前面2条还是比较好理解的,第3原创 2015-05-25 20:35:13 · 406 阅读 · 0 评论 -
java学习之路的自我回顾5(集合)
java的集合类集合类大致可分为:Set,Liet,Map,Queue 1.Set 代表无序,不可重复的集合 2.List 代表有序,可重复的集合 3.Map 代表具有映射关系的集合 4.Queue 代表一种队列集合实现java的集合类大致可以理解为是一个容器,ta不管对象的类型是什么,都能将其载入 上面提到的映射关系,其实简单来说,就是2个数组,一个装语文成绩,一个装数学成绩,虽然是2个原创 2015-05-26 20:31:29 · 560 阅读 · 0 评论 -
java学习之路的自我回顾2(类)
过了一个五一假期以后整个人都有点懒懒的,看书看着看着就犯困,索性下午是睡了会觉,感觉还行,好了,也不多扯了,直接进入主题关于java中类的相关知识大部分其实和C++中是一样的1.类的定义[修饰符] class 类名{零到多个构造器方法零到多个属性零到多个方法}修饰符可以是final,public或者省略掉,至于final是什么,之后也会提到。类内原创 2015-05-03 19:49:13 · 471 阅读 · 0 评论 -
POI:使用XSSFWorkbook与SXSSFWorkbook在处理Excel合并时容易出现的问题
最近在做的需求中需要将两个Excel合并。首先讲下POI中处理Excel的几种方式吧。1.HSSFWorkbook,用来处理.xls后缀的Excel,即适用于Excel2003以前(包括2003)的版本。因为其最大只能处理65535行的数据,所以现在已经很少使用了,所以本文直接忽略该方式。2.XSSFWorkbook是现在处理Excel比较常见的方式。其适用于.xlsx后缀的Excel,即E...原创 2019-08-01 13:34:07 · 9007 阅读 · 1 评论