
java
luck-cheng
It is my github addr, https://github.com/luck-cheng,
It is my gitee addr, https://gitee.com/luck-cheng.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[jvm]GC收集器总概
Serial垃圾收集器Serial 收集器使用单线程清理堆的内容。使用 Serial 收集器,无论是进行 Minor GC 还是 Full GC,清理堆空间时,所有的应用线程都会被暂停。进行 Full GC 时,它还会对老年代 空间的对象进行压缩整理。Throughput垃圾收集器Throughput 收集器使用多线程回收新生代空间,Minor GC 的速度比使用 Serial 收集器快 得...原创 2019-11-24 18:19:14 · 368 阅读 · 0 评论 -
[SpringBoot]启动顺序整理
从这里学习的:SpringBoot启动流程解析原创 2019-10-15 00:08:35 · 1822 阅读 · 0 评论 -
[java]处理utf-8 bom字符串的bom头
char[] bomChar = "带bom的字符串".toCharArray();//转为char数组char[] noneBomchar = new char[bomChar.length - 1];//数组第一个元素是bom头,去掉它for (int j = 0; j < noneBomchar .length; j++) {noneBomchar [j] = bomChar[j...原创 2018-03-22 16:35:20 · 5913 阅读 · 0 评论 -
[java]java反射调用方法小记
WXPlanModel wxPlanModel = new WXPlanModel();// 实例 Class clazz = wxPlanModel.getClass(); Method method = clazz.getDeclaredMethod("需要反射调用的方法名", St...原创 2018-03-22 16:25:42 · 1964 阅读 · 0 评论 -
[java]java使用AES加密解密 ,AES-128/192/256-ECB加密模式
直接上代码,是在springboot下直接test的import org.apache.commons.codec.binary.Base64;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import...原创 2018-03-05 18:05:24 · 10965 阅读 · 4 评论 -
[java]String和char相互转化
String转charString s = "12321323";char[] ss = s.toCharArray();char转Stringchar[] ss = s.toCharArray();String.valueOf(ss);原创 2018-03-22 14:50:07 · 15937 阅读 · 0 评论 -
[springboot]集成org.quartz-scheduler进行任务调度
前言springboot内置有org.springframework.scheduling.annotation.Scheduled可以让我们进行简单快速的任务调度(例如定时执行的任务),当我们一些和任务调度有关的业务开始复杂的时候,极其需要非常灵活的任务调度策略;在这种情况,博主使用了quartz,写下此文以记;依赖(gradle) compile group: 'org.q原创 2018-01-23 17:00:28 · 28124 阅读 · 3 评论 -
[jvm]JVM简单查看java内存情况命令
jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 jmap:打印出某个java进程(使用pid)内存内的所有’对象’的情况(如:产生那些对象,及其数量)。转载 2017-12-18 11:44:36 · 3086 阅读 · 0 评论 -
[Java]System类的小使用
判断操作系统是Linux还是WindowsSystem.out.println(System.getProperties().getProperty("os.name")); 判断用户的当前工作目录 System.out.println(System.getProperties().getProperty("user.dir")); 如图: 键 相关值的描述java.version J原创 2017-12-14 18:33:29 · 1978 阅读 · 0 评论 -
[Java]Http请求的工具类
说明该工具类从网络获取参考,在本人进行工作中,进行了部分修改;Http请求工具包,包含: 1、常用的GET/POST请求远程接口方法(可带参数、带头部信息); 2、可自定义请求方式的请求远程接口方法(可带参数、带头部信息); 3、可进行文件上传的请求远程接口方法; 具体内容,请大家参阅代码,希望分享出来,为朋友们提供便利; 谢谢。HttpClientUtils .javaimport co原创 2017-10-25 10:35:12 · 3230 阅读 · 0 评论 -
[java]String、StringBuffer、StringBuilder简记
String字符串常量,字符串长度不可变。Java中String是immutable的。StringBuffer线程安全;StringBuilder线程非安全;String 类型和StringBuffer的主要性能区别:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对...原创 2018-03-21 15:05:09 · 1924 阅读 · 1 评论 -
Linux Mint下OpendJDK的卸载及安装SunJDK
Linux Mint17薄荷开源网的无忧中文版 1 查看内置的java版本,java -version 之后发现,内带的jdk是OpenJdk,没用过,所以,我打算卸载OpenJdk把SunJdk装上去。 1)卸载系统自带的OpenJdk: sudo apt-get purge openjdk* 2)去sun官网下载jdk并放到/usr/local/Java/下: 这里的Java文件夹,...原创 2016-02-27 17:34:06 · 2339 阅读 · 0 评论 -
[java8]java.time包(二)快速实践
上一篇我们了解了原创 2019-05-26 15:37:30 · 366 阅读 · 0 评论 -
[java8]java.time包(一)快速简介
前言现在已经是2019-05-11,java8的java.time还有没了解的吗?来一起了解下吧。简介包位置package java.time;看看里面有些什么通过idea的类结构图展示哇塞,酷。直接看包里面:接下来,将会按照上图的文件顺序一个一个往下看:开始chrono包:提供一些关于年表(Chronology)处理的默认实现和接口定义。fo...原创 2019-05-11 14:38:33 · 722 阅读 · 1 评论 -
[java]static和volatile的区别快速理解
volatile: 可以保证,可见性,有序性,不能保证原子性; 作用域:线程级别 static: 可以保证共享性; 作用域:实例级别;个人理解: 修饰同一个对象的情况下:使用volatile: 能在线程中保证该对象对所有线程都是可见的,有序的;并且,该对象的各种操作会直接在主内存中,而不是对该对象的副本做操作;使用static: 能在实例中保证该对象都是共享的;但是,该...原创 2018-07-14 18:04:42 · 3431 阅读 · 3 评论 -
[java]Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析转载 2018-07-10 09:45:10 · 194 阅读 · 0 评论 -
[spring]spring中使用jackson返回字段(属性名)大小写格式化问题
问题发现返回对象中的字段: 为小写了,其实,字段原来是大写了; 加上一些jackjson内置注解 在相应的setter和getter加上@JsonIgnore注解 重启server,postman测试搞定。...原创 2018-06-01 10:52:37 · 5747 阅读 · 0 评论 -
[spring-data-jpa]nativeQuery查询带分页
Native queries The @Query annotation allows to execute native queries by setting the nativeQuery flag to true.Example 50. Declare a native query at the query method using @Querypublic interfac...原创 2018-04-10 17:05:37 · 6296 阅读 · 0 评论 -
jvm性能调优与监控之---jstat
jstat(JVM Statistics Monitoring Tool):jvm统计监控工具使用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程(需要远程主机提供RMI支持)虚拟机进程中的类信息、内存、垃圾收集、JIT编译等运行数据,在没有GUI,只提供了纯文本控制台环境的服务器上,它将是运行期间定位虚拟机性能问题的首选工具。jstat命令格式jstat [ opti...原创 2018-04-10 14:14:22 · 328 阅读 · 0 评论 -
[jvm]jvm性能调优与监控之---jps
jps(JVM Process Status):虚拟机进程状态可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。虽然功能比较单一,但它是使用最高的JDK命令行工具,因为其他的JDK工具大多需要输入它查询到的LVMID来确定要监控的是哪一个虚拟机进程。jps命令格式:jp...原创 2018-04-10 13:29:42 · 319 阅读 · 0 评论 -
[jvm]jvm快速入门
本篇以jdk1.7为例jvm内存结构堆内存方法区jvm栈程序计数器本地方法栈 如图: 使用processon作图所以,这里可以看到jvm内存三大主要结构方法区堆区栈区常用jvm控制参数-Xms 设置堆的最小空间大小。-Xmx 设置堆的最大空间大小。-XX:NewSize ...原创 2018-04-10 12:05:05 · 928 阅读 · 0 评论 -
[Java Web]stmp发送带附件邮件(附SSL版)
public class MailFileSendUtils { private Properties props; //系统属性 private Session session; //邮件会话对象 private MimeMessage mimeMsg; //MIME邮件对象 private Multipart mp; //Multipart对象,邮件内容,标题,附件原创 2017-05-18 10:45:29 · 3205 阅读 · 0 评论 -
[Java]java类加载及new对象的过程
SubClass sub = new SubClass(); 这句话到底做了什么事情呢? 1.javac编译.Java源文件形成.class字节码文件; 2.new SubClass()对象时,先检查有没有父类,有父类,类加载器(ClassLoader)先将父类的Class文件读入内存,创建一个java.lang.Class对象,然后加载子类,类加载器将子类的Class文件读入内存,创建一个j转载 2017-06-26 08:46:14 · 2180 阅读 · 5 评论 -
[Java Web]servlet/filter/listener/interceptor区别与联系
下面从几个方面阐述一下题目中四个概念的区别与联系:1、概念 2、生命周期 3、职责 4、执行过程一、概念:1、servlet:servlet是一种运行服务器端的Java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Fil...转载 2017-06-13 10:14:15 · 2256 阅读 · 0 评论 -
Java Collection接口
在java.util包中提供了一些集合类,常用的有List、Set和Map类,其中List类和Set类继承了Collection接口。这些集合类又称为容器,长度是可变的,数组用来存放基本数据类型的数据,集合用来存放类对象的引用。 List接口、Set接口、Map接口以及Collection接口的主要特征如下: Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用。原创 2016-08-13 10:03:12 · 2301 阅读 · 0 评论 -
Java下的关键字、保留字
1,Java 关键字列表 (依字母排序 共50组):abstract, assert, boolean, break, byte, case, catch, char, class, const(保留关键字), continue, default, do, double, else, enum, extends, final, finally, float, for, goto(保留关键字), if原创 2016-08-13 09:58:14 · 2354 阅读 · 0 评论 -
Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上转载 2016-08-12 09:41:13 · 2033 阅读 · 0 评论 -
new一个对象的时候JVM都做了哪些事情
之前没有进行类加载1.类加载,同时初始化类中静态的属性(赋默认值) 2.执行静态代码块 3.分配内存空间,同时初始化非静态的属性(赋默认值) 4.调用父类构造器 5.父类构造器执行完后,如果自己声明属性的同时有显示的赋值,那么进行显示赋值把默认值覆盖 6.执行匿名代码块原创 2016-08-11 12:36:06 · 3683 阅读 · 0 评论 -
[java]常用排序
直接插入排序 基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。public void InsertSort(array a){ int i,j; for(i = 1; i < a.length; i++){ int temp = a[i]; for...原创 2016-08-10 17:06:34 · 2103 阅读 · 0 评论 -
Override in Java(Note)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 在面向对象原则里,重写意味着可以重写任何现有方法。原创 2016-07-27 14:27:10 · 129 阅读 · 0 评论 -
Interface In Java(Note)
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必原创 2016-07-27 14:29:08 · 181 阅读 · 0 评论 -
Java中的public static void main(String[] args)
public static void main(String[] args) //public 关键字意指这是一个可由外部调用的方法,main()方法的参数是一个String对象的数组。args,Java编译器要求必须这样写,因为args要用来存储命令行参数。Java的类均是由java.lang.Object类继承而来的,所以Object是所有类的祖先类,而除了Object外,所有类必须有一个父类原创 2016-07-27 14:26:31 · 3071 阅读 · 0 评论 -
Eclipse EE简单配置(软链接)
在之前对jdk安装配置完成后,开始对eclipse的配置了,因为直接下载eclipse EE 比较方便快捷(已经自带了java Web的开发环境),从eclipse classic配置java web 的ide,网络原因,比较累人。1)直接去Eclipse下载,Eclipse EE (Mars)下载完成直接解压到自己想放的目录就好了(笔者放在的是/usr/local/Java)。 2)当然这样弄好原创 2016-02-27 17:39:25 · 2780 阅读 · 0 评论 -
写一个方法,参数接收一个String类型的对象,最终可以把这个字符串参数中出现过的每一个字母打印出来 例如: "wwqweqdasdafdsfdsferer" 将来方法接收这个参数后会打印:
import java.util.*;public class exercise2 { public static void main(String[] args){ Set set = new LinkedHashSet(); String string = "wwqweqdasdafdsfdsferer"; char[] ch = stri原创 2016-08-15 11:31:11 · 4314 阅读 · 0 评论 -
"aadfsdfdsfdsafafsafsawerewolfasd" ,不仅要输出出现过的字符还要输出每个字符出现了多少次
import java.awt.List;import java.util.ArrayList;import java.util.LinkedHashSet;import java.util.LinkedList;import java.util.Set;public class Exercise3 { public static void main(String[] args){原创 2016-08-15 11:32:50 · 2811 阅读 · 0 评论 -
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
根据高德纳(Donald Ervin Knuth)的《计算机程序设计艺术》(The Art of Computer Programming),1150年印度数学家Gopala和金月在研究箱子包装物件长宽刚好为1和2的可行方法数目时,首先描述这个数列。在西方,最先研究这个数列的人是比萨的列奥那多(意大利人斐波那契Leonardo Fibonacci),他描述兔子生长的数目时用上了这数列。第一个月初有一原创 2016-09-06 18:59:24 · 26604 阅读 · 4 评论 -
[Java Web]SpringMVC与Struts2区别与比较总结
1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标转载 2017-06-13 09:48:26 · 117 阅读 · 0 评论 -
[Maven]引入自定义Jar包(在maven仓库找不到的那种)
Maven项目中,使用到了腾讯信鸽,腾讯信鸽JavaSDK中直接封装了一个jar包;在项目中添加依赖,本地打包也能正常,可是到远程部署的时候就是NotFoundClass错误了;多次测试思考后,发现maven引入自定义jar包其实是有门路的: 简单思路就是,需要把自定义的jar包install进maven的依赖仓库,然后在pom中直接引入依赖;以下是操作重现:一、使用maven指令将自定义jar包原创 2017-06-19 15:39:21 · 8848 阅读 · 0 评论 -
[Java]String、StringBuilder和StringBuffer
String final 修饰,不可变StringBuilder 非线程安全、不使用多线程的情况下,效率高StringBuffer 线程安全原创 2017-06-05 22:29:46 · 2006 阅读 · 0 评论 -
[Java]通过Poi包读取Excel表格
public List<EntBusinessCard> readCardExcel() throws IOException { XSSFWorkbook hssfWorkbook = new XSSFWorkbook(new FileInputStream("D:\\buyal\\名片总和.xlsx")); EntBusinessCard card = null;原创 2017-05-18 14:38:44 · 2398 阅读 · 0 评论