java
文章平均质量分 93
hacker_LeeFei
be what you wanna be
展开
-
HashSet、HashMap、LinkedHashMap、HashTable、ConcurrentHashMap源码阅读笔记
hashSet、hashMap、linkedHashMap、hashTable、concurrentHashMap的源码阅读笔记,基于jdk1.8.原创 2022-12-08 16:47:35 · 584 阅读 · 0 评论 -
轻松读懂JWT
一文读懂JWT原创 2022-09-23 17:19:28 · 618 阅读 · 0 评论 -
JNDI到底是什么?
很深刻,转过来,多看几遍。JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探原创 2017-05-31 14:27:00 · 584 阅读 · 0 评论 -
mybatis mapper insertList
记录一下,小坑,下面是正确的书写方式:<insert id="insertBatch"> insert into welian_userprofile.first_login_log(uid,first_login_time) values <foreach collection="list" item="item" index="index" separator="," > (#{item.原创 2020-08-29 10:56:07 · 351 阅读 · 0 评论 -
Java8 list stream collect测试用例小结
测试用对象:package com.demo.lee.util;import lombok.AllArgsConstructor;import lombok.Data;@Data@AllArgsConstructorpublic class Student { private Integer id; private String groupId; privat...原创 2018-11-12 17:23:07 · 3008 阅读 · 0 评论 -
Java对象的引用类型简介
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。1 强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用.原创 2020-07-15 11:26:48 · 264 阅读 · 0 评论 -
对象比较小技巧---两个可为null的对象比较
java中api有这样的说明;对于基本数据类型的比较,可以直接用“==”,表示判断两个变量是否引用的同一个物理地址,比较的是变量指针;对象比较,用equals(),表示两个对象属性之间的具体比较,但是,要求equals()的对象不能为null,不然会抛NOP异常,这就比较尴尬了,如果我们事先无法确定两个obj不为null的话;下面的小技巧,很好的避免了上述的尴尬,分享下 @Tes...原创 2018-11-20 11:21:23 · 2555 阅读 · 5 评论 -
mybatis对象接参
记着去夜跑,简单记录下,看代码Mpper对象: /** * 条件查询 * @param qo qo * @param userId userId * @return list */ List&lt;Customer&gt; getCustomerList(@Param("qo") CustomerQO qo, @Param("use...原创 2018-10-30 18:51:04 · 773 阅读 · 0 评论 -
Java:Future、Callable和FutureTask原理解析(学习笔记)
Future表示一个任务的生命周期,并提供了方法来判断是否已经完成或取消,以及获取任务的结果和取消任务等。Future接口:public interface Future<V> { boolean cancel(boolean mayInterruptIfRunning); boolean isCancelled(); boolean isDone(...原创 2018-07-31 09:39:05 · 304 阅读 · 0 评论 -
Java的break和continue比较
有些忘了,敲个测试代码验证一下:/** * 测试break和continue * 结论:break==》跳出并结束循环 * continue==》跳出并进行下一次循环 */ @Test public void testBreak(){ for (int i=0;i<10;i++){ ...原创 2018-07-20 10:17:35 · 562 阅读 · 0 评论 -
Java transient关键字使用
哎,虽然自己用了很多年的Java,但很多Java基础知识还是不是很清楚,比如transient关键字以前都没用到过,所以不知道它的作用是什么,最近在git上pull下来一个开源代码学习时才发现,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1. transient的作用及使用方法我们都知道一个对象只要实现了Serilizable接口,这个对...转载 2018-06-29 10:10:05 · 155 阅读 · 0 评论 -
ognl.MethodFailedException:****[java.lang.StackOverflowError]
最近做项目出现一个java.lang.StackOverflowError异常解决办法。 经过试验,两种解决方式原因 StackOverflowError是由于当前线程的栈满了 也就是函数调用层级过多导致。比如死递归。 如: public String homePage(){ this.findAllNews(); return “shouye”; }代码...原创 2018-06-14 20:40:15 · 758 阅读 · 0 评论 -
java实现数字转化成字符串左边自动补0方法
方法有很多,这里提供3个比较简单好用的给大家import org.junit.Test;import java.text.NumberFormat;/** * @Author: Lee * @Time: 2018/5/24 11:21 * @Description: 生成4位数,不够前面补0 */public class NumberTest { @Test ...原创 2018-05-24 11:29:39 · 1053 阅读 · 0 评论 -
MySQL--巧妙利用二进制位运算表达“非此即彼”的信息
一、业务需求:业务涉及的一个表里,有多个“非此即彼”型字段整合在一个字段里,用二级制位来表示多个信息二、直接小demo2.1 创建测试类,比较性能和实用性CREATE TABLE `goods_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `goods_tag` bit(8) DEFAULT NULL, `tag` varch...原创 2018-12-18 16:49:29 · 3797 阅读 · 2 评论 -
Java事务总结(四)
看了下自己的博客,这已经是对事务的第四次做回顾总结了。不是很全面,但也大致覆盖了我们日常中遇到的所有问题。这里是对之前博客的补充,之前文章点击查看下面简要说一下事务的隔离级别:未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)已提交读(数据库引擎的默认级别)可重复读可序列化(隔离事务的最高级别,事务之间完全隔离),可串行化比较严谨,级别高;各种数据库的事务隔离级别的查看...原创 2019-03-12 14:04:50 · 212 阅读 · 0 评论 -
分布式、高并发与多线程概念浅析
这里主要把这三个概念做浅显的说明,并不打算做深入的总结。当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼?实际上,他们三个总是相伴而生,但侧重点又有不同。分布式分布式更多的一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式文件系统、分布式缓存、分布式数据库、...原创 2019-04-09 09:18:21 · 117 阅读 · 0 评论 -
JAVA本地方法详解,什么是JAVA本地方法?
一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。“A native method is...转载 2019-04-21 22:13:23 · 174 阅读 · 0 评论 -
类加载器的工作原理
文章真的很好,感谢:http://www.importnew.com/6581.htmlJava类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看不到子类加载器加载的类。单一...转载 2019-04-23 11:02:39 · 344 阅读 · 0 评论 -
com.alibaba.fastjson.JSONException: create asm serializer error
当日志插件中,有一功能是打印日志文件的功能,今天调试时,遇到上述异常,记录下排查过程和解决办法。问题出在调用下面的方法上:this.processSysLog(log, syslog, JSON.toJSONString(result));JSON.toJSONString(Object object)异常记录如下:Caused by: com.alibaba.fastjson.JSO...转载 2019-04-18 15:19:47 · 8498 阅读 · 0 评论 -
SerializationFailedException和解决方法
1.问题描述:Caused by: org.springframework.core.serializer.support.SerializationFailedException:Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeseria...原创 2019-06-06 11:13:06 · 14879 阅读 · 0 评论 -
谈谈jenkins:安装(一)
安装环境说明:操作系统:linux(centOS)软件:jdk 7软件:tomcat软件:jenkins(2.9.4版)一、jenkins的安装(假设你的系统环境已经配置好)1.1 以war包运行1、 下载jenkins.war包2、启动war包( 默认端口:8080,默认JENKINS_HOME目录:~/.jenkins )前台启动命令:java -jar...原创 2019-07-29 09:50:01 · 134 阅读 · 0 评论 -
谈谈jenkins:权限控制(二)
jenkins的权限控制主要在两个地方:原创 2019-07-29 10:36:25 · 280 阅读 · 0 评论 -
谈谈jenkins:config.xml文件解读(三)
1. 可执行进程数<numExecutors>5</numExecutors>2. 角色和角色权限3.视图列表<?xml version='1.1' encoding='UTF-8'?><hudson> <disabledAdministrativeMonitors/> <version>2.187</v...原创 2019-07-29 10:58:29 · 3491 阅读 · 0 评论 -
HashTable和HashMap的区别详解
文章很好,让人忍不住收藏起来。。。一、HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。 HashM...转载 2018-05-23 09:46:09 · 327 阅读 · 0 评论 -
java常用正则表达式
直接代码奉上package com.fsti.icop.util.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;public final class RegExpValidatorUtils {/*** 验证邮箱* * @param 待验证的字符串* @return 如果是符合的字符...原创 2018-05-11 13:52:03 · 212 阅读 · 0 评论 -
根据输入时间,获取当前月份的第一天和最后一天
需求描述:主要用于报表统计时的时间处理代码:private void dealTime(String theDay) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar cale = Calendar.getInstance(); // 获取当月...原创 2018-04-02 18:57:48 · 2050 阅读 · 0 评论 -
Java中Properties类的操作
每天都有在进步,努力吧 感谢:http://www.cnblogs.com/bakari/p/3562244.html http://blog.csdn.net/Senton/article/details/4083127知识学而不用,就等于没用,到真正用到的时候还得重新再学。最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器转载 2017-08-19 16:00:48 · 274 阅读 · 0 评论 -
集合List中消除重复值与取得两个List中的交、并、差集
消除 list重复值 Java代码 public void removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); } public void removeDuplicate(List list) {原创 2017-08-04 11:22:58 · 3040 阅读 · 0 评论 -
java 反射 动态调用不同类的静态方法(推荐)
恩 ,下面这个小demo还是不错的,大家可以借鉴一下1、准备用反射的方式调用的类package ss;public class Use { public static Integer demo( String s ){ System.err.println(s+"<<<<<<成功!"); Integer ss=1; return ss; }}2、调用public原创 2017-08-17 20:25:47 · 8088 阅读 · 0 评论 -
遍历List集合的三种方法
这代码写的,最基本的都忘掉了,呵呵List<String> list = new ArrayList<String>();list.add("aaa");list.add("bbb");list.add("ccc");方法一: 超级for循环遍历for(String attribute : list) { System.out.println(attribute);}方法二: 对于原创 2017-07-06 18:09:23 · 1140 阅读 · 0 评论 -
java 分行读取
网上看了看,结合自己的需求,这是我的小demo,分享一下。提示,不要通过字节流或者是字符流的形式进行读取,可以直接通过BufferedReader 流的形式进行流读取,就没有换行符无法区分的问题,之后通过readLine方法获取到流的内容。 BufferedReader bre = null;List<String> res=new ArrayList<>();String str="";原创 2017-07-06 12:02:12 · 2926 阅读 · 0 评论 -
java.lang.reflect.InvocationTargetException
微妙的一个异常信息java.lang.reflect.InvocationTargetException。 这几天项目正在不断测试、演示中,当我把项目交给测试和实施部的时候项目一切运行正常,可是昨天一实施人员告诉我,系统部署到tomcat中启动运行报出了一个异常,发给我看了一下,我的个乖乖,这个异常信息这么久我还是头一次看见,于是赶紧的上网查了一下资料,后来通过各种测试,环境搭建模拟发现产生该异常原创 2017-07-03 15:48:05 · 15735 阅读 · 0 评论 -
深入解析StringBuilder与StringBuffer的区别
相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全了转载 2017-05-31 10:09:04 · 391 阅读 · 0 评论 -
IntelliJ IDEA 源值1.5已过时,将在未来所有版本中删除
有3中解决方案,具体如下,任君挑选: 1、如果创建的是maven项目,修改Maven的Settings.xml文件添加如下内容; <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <pr原创 2017-04-20 09:33:31 · 1403 阅读 · 0 评论 -
Java 面试技巧
简单谈一谈我常问的一些问题,以及目的吧:ps:本人也不是大牛,就是接触的面广了一点,多少都能唠上两句~ 另外本人面的大多是3年以内工作经验的. 心情不是很好,文笔也很烂, 大家全当散分贴娱乐娱乐算了.1.前台后台都做吗? 10分这一般是我的第一个问题,超过90%的人会回答:"都做,后台多一点,前台少一点"这不是我想要的答案,鬼都知道程序员都要多少原创 2017-02-12 12:13:14 · 620 阅读 · 0 评论 -
Java 8十个lambda表达式案例
1. 实现Runnable线程案例使用() -> {} 替代匿名类://Before Java 8:new Thread(new Runnable() { @Override public void run() { System.out.println("Before Java8 "); }}).start();//Java 8 way:原创 2017-02-10 08:26:11 · 329 阅读 · 0 评论 -
Java读取Properties文件的七种方法
使用JAVAEE API读取Properties文件的7种方法1。使用Java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2。使用java.util.Reso转载 2017-08-19 17:23:16 · 462 阅读 · 0 评论 -
java语言 Linux系统环境下 运行phantomjs
安装就不说了,自己百度 控制语句进行如下例句的拼接就行了/tomcat/phantomjs/linux/bin/phantomjs /tomcat/webapps/ROOT/WEB-INF/classes/ofo/js/ofoTokenUtil.js http://www.baidu.com150666688881234第一行表示:你phantomjs安装的绝对路径 第二行表示:你要执行原创 2017-08-28 10:18:56 · 3493 阅读 · 0 评论 -
idea 闪退,项目重启时stream closed问题的解决方案
曾多次遇到这个问题,自己摸索出两个比较快捷的方法,记录一下,分享给大家。方案一: 很简单,重启电脑就是了。方案二: 打开【任务管理器】==》【详细信息】,找到java.exe进程,关闭此进程,重启idea即可。想了想:接着把闪退的原因及解决方案一起记录下来吧认真思索后,发现是IDEA的运行内存大小的问题,就做了如下修改:Intellij IDEA 2017目...原创 2018-03-16 11:43:40 · 1000 阅读 · 0 评论 -
Java 删除文件、文件夹的办法
不错的两个方法,收藏下File file = new File("D:/temp"); 如果 “D:/defonds/temp” 是一个空目录的话,可以成功删除。但是如果是一个非空目录的话,就无法成功删除,必须将其子文件(目录)删除干净才可删除成功。使用以下的方法可以成功删除非空文件夹://递归删除文件夹 private void deleteFile(File file转载 2018-01-13 13:56:03 · 540 阅读 · 0 评论