
java 学习笔记
xx_star1204
学习学习学习
展开
-
阿里easyExcel 简单导入
阿里 easyExcel 的简单Excel导入步骤原创 2019-11-08 17:23:21 · 1169 阅读 · 0 评论 -
JVM中的内存分配及GC回收过程简单整理
转载自blog.youkuaiyun.com/lanzi0907/article/details/44905499 JVM中的内存使用方式,包括虚拟机内存区域的划分,Java对象分配时的处理原则和逻辑,以及我们日常开发中最需要关心的GC回收的策略和算法,是开发出拥有出色而稳定的Java软件产品所必须深刻理解的。从各种途径阅读到的讲解JVM内存管理,GC过程和策略的资料也都从不同的侧重点讲述了这些话题。我在这里转载 2017-10-10 17:26:43 · 265 阅读 · 0 评论 -
java GC是在什么时候,对什么东西,做了什么事情
转:面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?” <div class="article_manage clearfix"> <div class="article_r"> <span class="link_postdate">2015-10-13 15:03</span转载 2017-10-10 21:02:00 · 305 阅读 · 0 评论 -
类加载 详解
转载自 说明:本文乃学习整理参考而来.一、Java类加载机制1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换转载 2017-10-11 16:23:12 · 202 阅读 · 0 评论 -
正则表达式
正则表达式30分钟入门教程 正则表达式30分钟入门教程 目录 跳过目录 本文目标 如何使用本教程 正则表达式到转载 2017-10-11 16:34:14 · 4995 阅读 · 0 评论 -
concurrentHashMap原理
转载自http://www.cnblogs.com/ITtangtang/p/3948786.html一、背景:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但转载 2017-10-31 09:51:48 · 351 阅读 · 0 评论 -
ThreadPoolExecutor线程池参数设置技巧
转载自http://www.cnblogs.com/waytobestcoder/p/5323130.html一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数核心线程会一直存活,及时没有任务需要执行当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理设置allowCoreThreadTimeout=true(默认false)时,核心线转载 2017-11-01 16:12:46 · 413 阅读 · 0 评论 -
cookie 和 session 的区别
转载自http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次转载 2017-10-16 10:18:39 · 248 阅读 · 0 评论 -
servlet 和 jsp的区别与联系
JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.JSP由HTML代码和JSP标签构成,可以方便地编写动态网页. 因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.二者原创 2017-10-16 10:17:41 · 352 阅读 · 0 评论 -
Comparator 使用RuleBasedCollator实现类似“A>B+>B>B-”的规则
直接排序的字典序是B>B+>B-的,所以需要使用Comparator自己定义规则。class PersonRank implements Comparator{ public int compare(Person e1, Person e2) { String myrule =";//只能使用'',第一个'<'最好写上 RuleBasedCollat原创 2018-01-05 10:09:48 · 701 阅读 · 0 评论 -
sql server排序后分页的出现一条丢失一条重复情况
在sqlsever中实现分页常用的是使用以下语句select top 10 * from [PRD_KPI].[dbo].[student] where id not in ( select top 0 id from [PRD_KPI].[dbo].[student] order by grade desc) order by grade de...原创 2018-01-09 09:11:28 · 1250 阅读 · 0 评论 -
java List 转树结构
需求 ,将如下类似的list转换成如下树结构{ "code":200, "data":{ "gridName":"全部", "child":[ { "id":1, "gridName":"华东区", "gridCo...原创 2019-08-30 17:28:30 · 1872 阅读 · 0 评论 -
深入了解jvm
转载自http://www.cnblogs.com/prayers/p/5515245.html 一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这转载 2017-10-10 15:50:23 · 240 阅读 · 0 评论 -
java 堆内存划分
转载自http://blog.youkuaiyun.com/sunny243788557/article/details/52796904在JVM中堆空间划分如下图所示上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代2.新生代可以划分为三个区,Eden区,两个幸存区在JVM运行时,可以通过配置以下参数改变整个JVM堆的配置比例1.JV转载 2017-09-28 15:04:04 · 1064 阅读 · 0 评论 -
java静态块,普通块,构造函数的执行顺序
10以下代码执行后输出结果为( )123456789101112131415public class Test{ public static Test t1 = new Test(); { System.out.println("blockA"); } static { System.out.println("blockB")原创 2017-09-27 11:11:45 · 437 阅读 · 0 评论 -
java 数组初始化
静态初始化1.type[] arrayName = new type[]{element1,….elenemtN}; 如 int [] str=new int[]{2,3}; 简化初始化 2.type[] arrayName = {element1,….elementN}; 如:int[] str2 = {2,3};动态初始化type[] arrayName = new type[le原创 2017-07-19 22:59:16 · 247 阅读 · 0 评论 -
java Arrays类的常用操作
1.int binarySearch(type[] arrayName,type key) 使用二分法查询key值在数组中出现的下标值,如果数组中没有key这个值,则返回负数。调用该方法之前应先使数组按升序排序,方能得到正确结果。2. viod sort(type[] arrayName) 对数组进行升序排序。3.toString(type[] a) 将数组转换成一个字符串,元素之间用 ‘,’原创 2017-07-19 23:29:49 · 455 阅读 · 0 评论 -
int 和Integer的区别
–今天用Integer 和Integer 比较 发现有问题,于是去查了查。 1.Java 中的数据类型分为基本数据类型和引用数据类型 int是基本数据类型,Integer是引用数据类型; Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。2.初始化 int i =1; Integer i= new Integer(1); 有了自动装箱和拆箱,转载 2017-07-24 20:27:50 · 237 阅读 · 0 评论 -
servlet 读取resource的文件
工程结构使用property 读取.ini文件使用Properties properties = new Properties();properties.load(this.getClass().getClassLoader().getResourceAsStream("mysqlConn.ini"));原创 2017-08-10 20:59:41 · 752 阅读 · 0 评论 -
DDL,DQL,DML,DCL全称
DDL 数据库模式定义语言 createDML 数据库操控语言 insert update等等DCL 数据库控制语言 grant remove等等DQL 数据库查询语言 query 等等原创 2017-07-27 20:31:22 · 6560 阅读 · 0 评论 -
使用Propertise类加载属性文件。
Properties pro = new Properties();pro.setProperty("user","root");//相当于属性文件中写入 user=root 注意!!如果文件中是user="root",那么使用pro.getProperty("user")得到的就是"root" ,是带引号的。pro.load(new FileInputStream(fileName));/原创 2017-07-28 09:52:08 · 616 阅读 · 0 评论 -
lambda表达式详解
转载自http://blog.youkuaiyun.com/ioriogami/article/details/12782141/1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int y)转载 2017-08-23 16:39:55 · 359 阅读 · 0 评论 -
Java 异常结构体系
转载自http://www.cnblogs.com/hainange/p/6334042.html前几天在参加网易和360公司的在线考试的时候,都出了一道关于java中异常类的多项选择题。这几天翻看了相关书籍和网上一些资料,结合自己的理解与思考,将自己的一些收获记录如下:先来看看java中异常的体系结构图解:首先说明一点,java中的Exception类的子类不仅仅只是像上图所示只包含IOEx转载 2017-09-13 09:17:28 · 2145 阅读 · 0 评论 -
java 中throw和throws的区别
系统自动抛出的异常所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。 语句抛出的异常 用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。throw是语句抛出一个异常。语法:throw (异常对象); throw e转载 2017-09-13 09:50:42 · 253 阅读 · 0 评论 -
Intellij idea Language level和Java Compiler版本自动变化问题
转载自http://blog.youkuaiyun.com/wo541075754/article/details/50729897概述最近将Intellij Idea的版本升级之后,在对maven项目进行编译或打包时,经常出现一大堆的错误,错误的提示基本上都是jdk版本不正确导致的语法错误。刚开始没太留意,以为是默认配置没有修改。于是把Settings中的Java Compiler和Project Set转载 2017-09-07 17:01:40 · 246 阅读 · 0 评论 -
String 中的==
直接String出来的常量是储存在栈。 new 出来的对象是保存在堆里面。 String a = "hello"; String b = "hello"; String c = new String("hello"); System.out.println(b==a);//true System.out.println(c==a);//false常量相加是直接相加,变量相加会使用Strin原创 2017-09-24 20:53:00 · 335 阅读 · 0 评论 -
java 获取文件路径
转载自http://www.cnblogs.com/HangZhe/p/6015936.html第一种: File f = new File(this.getClass().getResource(“/”).getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\proj转载 2017-08-07 22:03:35 · 293 阅读 · 0 评论