Java
文章平均质量分 77
特仑苏大碗茶
文章仅代表个人观点,技术也仅只是自己理解,注意自己识别不可照搬。
展开
-
Mybatis-Plus进行分页查询时,进程直接退出
Mybatis-Plus进行分页查询时,进程直接退出?原创 2022-06-30 16:27:18 · 663 阅读 · 1 评论 -
field、variable和property有什么区别
这看起来是个无聊的文字游戏,但其实Java术语表里是有关于每一项的说明的。参考Java的术语表https://docs.oracle.com/javase/tutorial/information/glossary.htmlfieldA data member of a class. Unless specified otherwise, a field is not static.一个类的数据成员。除非另有规定,否则一个字段不是静态的。propertyCharacteristics原创 2021-05-26 14:46:52 · 761 阅读 · 1 评论 -
Java-ThreadLocal简析
翻看JDK8的新特性,看到这样的一条。说ThreadLocal在JDK8有新的更改,这里主要都是和lambda表达相关的一些更改。那就来对比看下修改了什么。JDK7的ThreadLocal地址点这里;JDK8的ThreadLocal地址点这里。 /** * Creates a thread local variable. The initial value of the variable is * determined by invoking the {@code get}原创 2021-01-04 22:35:38 · 306 阅读 · 0 评论 -
谈引用
一直以来,引用好像是个很模糊的概念,从学Java第一天,我们就可以熟练重复这句话:“Java包括基本类型和引用类型”。但是到底什么是引用呢?花2秒钟,思考下Integer.TYPE和Integer.class这两个的区别。介绍在Java里,什么是引用呢?在Java术语表里这么解释:referenceA data element whose value is an address.而不知你有没有注意到,java.lang.ref包包括里一系列和引用有关的类,这些类有什么作用呢?来,咱们原创 2021-01-04 18:00:44 · 154 阅读 · 0 评论 -
MySQL-Connector-Java居然抛出NPE
Druid DataSource 测试连接有效性问题测试连接有效性是在destroy线程里面测试的,usePingMethod 配置为true(暂时不清楚哪里配置的),则默认走的是MSSQLValidConnectionChecker#isValidConnection检查有效性问题是当连接关闭时,MySQL驱动的socket引用将被设置为null,继续走该方法就会报空指针异常,而空指针异常检测方法里面并未抛出,直接吞掉了。。。猜测- 是因为三个数据源是同一个库,检测到连接中断就会将socket原创 2020-09-07 01:05:39 · 600 阅读 · 1 评论 -
如何使用javac递归编译目录下所有java文件
#Linux $ find -name "*.java" > sources.txt $ javac @sources.txt :: Windows> dir /s /b *.java > sources.txt > javac @sources.txt 参考内容:IT屋转载 2020-08-31 14:01:02 · 1365 阅读 · 0 评论 -
日志配置-logback
<?xml version="1.0" encoding="UTF-8" ?><!-- 如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator,创建一个最小化配置. 最小化配置由一个关联到根 logger 的ConsoleAppender 组成.输出用模式为 %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}原创 2020-08-31 13:59:54 · 419 阅读 · 0 评论 -
Java新特性- 待更新
仅是个人笔记,待更新,仅供参考JDK1.8Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。Stream API −新原创 2020-08-31 13:59:08 · 129 阅读 · 0 评论 -
mybatis-config.xml 配置
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- 注意:由Spring来创建SqlSessionFactory时候,该配置中的任意环境,数据源 和 MyBatis 的事务管理器都会被忽略。 Sq原创 2020-08-31 13:57:19 · 247 阅读 · 0 评论 -
META-INFO有什么用?
The META-INF directoryThe following files/directories in the META-INF directory are recognized and interpreted by the Java 2 Platform to configure applications, extensions, class loaders and services:MANIFEST.MFThe manifest file that is used to define e原创 2020-08-31 13:53:10 · 1350 阅读 · 0 评论 -
队列基本操作
队列的方法老是记不牢,在此记录下:方法操作注释add增加一个元索成功返回true,如果队列已满,则抛出一个IllegalStateException异常(与offer对比)offer添加一个元素成功返回true,如果队列已满,则返回false(与add对比)put添加一个元素将指定的元素插入此队列,如有必要,阻塞等待空间可用remove移除并返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException异常(注意与poll对比原创 2020-08-31 13:50:58 · 140 阅读 · 0 评论 -
HashMap代码简读
put方法/** * 将value与map中的key相关联。 * 如果map中之前有这个key,以前的value将被替换. * * @param key 要与指定值关联的键 * @param value 与指定键关联的值 * @return 旧value值,如果没有这个key,返回null. * (返回null也可能是key关联的value就是null) */ public V put(K key, V原创 2020-08-31 13:54:04 · 126 阅读 · 0 评论 -
ThreadLocal简单执行逻辑
每个Thread里都保存了一个ThreadLocal.ThreadLocalMap类型的threadLocals变量,以ThreadLocal对象作为key,以T类型的对象作为value。使用ThreadLocal时候,先调用get()方法获取,get()方法先获取保存在Thread对象的ThreadLocalMap对象,再以当前ThreadLocal对象为key获取ThreadLocalMap.Entry对象,进一步获取对应value。如果map为空,或者是Entry为空,则调用 setInitia原创 2020-08-26 11:23:14 · 148 阅读 · 0 评论 -
Executors创建的几种线程池
##使用Executors创建线程池:共有四种线程池:####1. CachedThreadPool 可缓存线程池 /** * Creates a thread pool that creates new threads as needed, but * will reuse previously constructed threads when they are * available. These pools will typically improve th原创 2020-08-26 11:22:38 · 188 阅读 · 0 评论 -
编程中遇到的锁汇总
乐观锁与悲观锁悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中 synchronized和 ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁.原创 2020-08-26 11:22:02 · 165 阅读 · 0 评论 -
java.util.concurrent并发包
Lock对象Executorsjava.util.concurrent包定义了三个executor接口:Executor:支持启动新任务的简单接口;ExecutorService:Exector的子接口,它添加了帮助管理单个任务和Executor本身生命周期的特性,补充了submit方法。ScheduledExecutorService:是ExecutorService的子接口,支持将来和/或定期执行任务。ThreadPoolsExecutors类提供了几个常用的工厂..原创 2020-08-26 11:21:09 · 148 阅读 · 0 评论 -
关于ThreadPoolExecutor
使用Executors创建线程池:共有四种线程池:1. CachedThreadPool 可缓存线程池 /** * Creates a thread pool that creates new threads as needed, but * will reuse previously constructed threads when they are ...原创 2020-03-13 18:22:21 · 130 阅读 · 0 评论 -
面试问题总结
从高三毕业找房地产发传单的工作,到大三找饲料销售的实习岗位,再到后来转行Java,大大小小的面试经历了十几次,却从未认真总结过。这篇文章以后就用来总结我的各种面试经历,主要还是Java开发的求职记录。两次游戏公司:扯淡:总共面试过两家游戏公司,一家通过,一家未通过。通过的那家我还进去做了一个多月,同事都蛮好的,领导是以前微软出来的,也做过游戏。就是我觉得加班太狠,那段时间身体也不舒...原创 2020-03-13 18:18:13 · 328 阅读 · 2 评论 -
Vue.js掘金8折优惠码
8折优惠码了解一下,公众号里才9折,感觉内容还行!!原创 2020-03-13 18:17:43 · 550 阅读 · 0 评论 -
转问题+回答 - 有哪些质量很高的Java面试题?
知乎上看到一个问答,“你遇到过哪些质量很高的 Java 面试?” 本来想自己尝试回答一下,并对照作者回复的答案,以此来了解自己知识的欠缺之处,但发现写出来答案之后质量实在是不高,为避免误导读者,这里最后还是决定贴作者的答案。文章内容全部为转载知乎上允许转载的回答,但若有侵权依旧会立刻删除。作者:@ZO01链接:你终将遇到的高质量Java面试题来源:知乎著作权归作者所有。商业转载...原创 2020-03-13 18:17:11 · 271 阅读 · 0 评论 -
一个XML解析错误的排查
项目里面需要用到XML解析,我权衡之后使用了JAXB,因为:1. 对接系统返回的XML比较复杂,如果使用时候使用DOM4J之类的,代码与XML格式强耦合,所以使用JAXB,直接使用注解映射XML和JavaBean;2. JDK原生支持的。但是烦恼就此开始,XML和JavaBean转换时倒是容易: public static <T> T convertXmlToJavaBean...原创 2020-03-13 18:15:46 · 1843 阅读 · 0 评论 -
从intern函数产生的疑问
我之前说过:在阅读周明耀老师的《深入理解JVM & G1 GC》该书时,对本书p31~33关于String的部分内容产生疑问,遂通过google等搜索引擎以及Stack Overflow和知乎(R大)[https://www.zhihu.com/people/rednaxelafx/answers?order_by=vote_num]的解答研究了一番,最终理解还是有欠缺。这次系统地把这个“...原创 2020-03-13 18:15:01 · 207 阅读 · 0 评论 -
MyBatis 源码简单分析
MyBatis的使用可以参考:官方文档中文版记得老早前看时候还有部分未翻译,现在进去看已经全部翻译了。根据文档介绍写了下面这一部分代码 ↓public static void main(String[] args) throws Exception { //从各种类加载器的路径加载文件 InputStream res = Resources.getResou...原创 2020-03-13 18:14:17 · 109 阅读 · 0 评论 -
玩转Spring全家桶 -- 学习笔记
Spring家族Spring FrameworkSpring Boot快速构建基于Spring的应用程序Spring Cloud简化分布式系统的开发#数据源HikariCP特点高性能数据源,速度非常快HikariCP为什么这么快?字节码级别优化(JavaAssist生成)大量小改进https://github.com/brettwooldridg...原创 2020-03-13 18:13:33 · 340 阅读 · 0 评论 -
《响应式编程 —— RxJava 高阶指南》笔记
最近买了一本掘金小册,关于响应式编程的。都是精挑细选看写得很好的才买的,扫这个图上二维码可以有八折优惠。原创 2020-03-13 18:08:40 · 119 阅读 · 0 评论 -
《JVM 字节码从入门到精通》笔记
又忍不住买了一个小册,看写得真心不错。哈哈,依旧八折优惠码。原创 2020-03-13 18:08:02 · 634 阅读 · 0 评论 -
Java IDE使用笔记
IDEA使用一、快捷键(其实主要就是各种快捷键)1.查看下一个关键字:Ctrl+F32.查看所有子类:3.全局搜索:双击shift4.删除整行:Ctrl+y5.快速生成try catch等语句块:Ctrl+Alt+t https://blog.csdn.net/dc_726/article/details/42784275二、设置指南 Eclip...原创 2018-06-06 00:51:21 · 303 阅读 · 0 评论 -
Java性能优化
1.JVM性能监控https://www.cnblogs.com/leefreeman/p/7464179.html2.编写高性能程序https://www.cnblogs.com/chinafine/articles/1787118.html以及参考《Effective Java》3.Java性能优化五种方式https://www.cnblogs.com/blfbuaa/...原创 2018-06-10 20:55:16 · 162 阅读 · 0 评论