
Java
文章平均质量分 82
子謀
败坏之先,人心骄傲,尊荣之前,必有谦卑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
注解@RequestParam一定要指定接收的参数名称
@RequestParam作用:该注解描述了一个方法参数变量应该被一个web请求参数绑定。如果使用@RequestParam不指定具体的web请求参数名称,那么默认其与方法变量参数名称相同。那么问题来了,如果使用@RequestParam不指定具体的web请求参数名称,SpringMVC如何做到得知一个方法参数变量的名称的呢?你可能想可不可以通过反射,确实是通过反射获取。那么反射为什么能获取,除非在编译的时候保留了原本参数名称,否则Class类中一样得不到原本的参数名称。最终导致的问题就是,如果编译不保原创 2020-09-29 01:49:53 · 3168 阅读 · 0 评论 -
理解字符集和字符编码(Charset & Encoding)
理解字符集和字符编码(Charset & Encoding)前言一、字符集和字符编码的理解二、常用字符集和字符编码1.ASCII1.1.标准ASCII1.2.扩展ASCII2. ISO-8859-13. GB23124. GBK5. Unicode字符集5.1. UTF-8编码5.2. UTF-16编码5.3. UTF-32编码5.4. 字节序常见疑问前言由于字符集和字符编码的种类比较多、历史也很久远,在许多方面不好理解。在此梳理总结我对字符集和字符编码的认识与理解,以供查阅。若有不对,欢迎指正原创 2020-09-07 16:45:03 · 2213 阅读 · 0 评论 -
Java线程状态切换与Java中断
Java线程状态切换与Java中断前言Java的6种线程状态Java线程状态切换图Java中断前言最近看到synchronized和ReentrantLock两者的不同点时有这么一句:Lock可以让等待锁的线程响应中断,而synchronized 却不能。对此进行了实验,发现是正确的。接着又看了Java中断的概念和讲解,发现没整明白,反而给我整懵了。于是从下面的角度开始出发重新理解Java中断。ReentrantLock底层挂起线程是通过java.util.concurrent.locks.LockS原创 2020-07-19 23:22:59 · 421 阅读 · 0 评论 -
阻塞队列ArrayBlockingQueue源码理解(JDK 1.8)
阻塞队列ArrayBlockingQueue源码理解(JDK 1.8)阻塞队列简介类继承结构入队列操作出队列操作分析总结阻塞队列简介阻塞队列顾名思义是一个队列的数据结构,ArrayBlockingQueue采用数组来实现这个队列,与其对应的LinkedBlockingQueue则采用链表来实现的。那么既然是一个队列,那么就会有入队列和出队列两种操作。那阻塞队列中的阻塞代表的是什么意思呢?我认...原创 2020-04-29 22:39:13 · 210 阅读 · 0 评论 -
通过ReentrantLock理解AbstractQueuedSynchronizer抽象队列同步器(JDK 1.8)
通过ReentrantLock理解AbstractQueuedSynchronizer抽象队列同步器(JDK 1.8)什么是AbstractQueuedSynchronizer从ReentrantLock到AQSAbstractQueuedSynchronizer核心方法AbstractQueuedSynchronizer中的state信号量AbstractQueuedSynchronizer中的...原创 2020-02-21 00:05:51 · 396 阅读 · 1 评论 -
Java中锁的分类及概念理解
线程安全问题指的是由多个线程对共享变量进行写操作时导致数据出错,此时需要同步机制来控制线程按次序访问数据,那么如何同步,我想锁就是保证同步的基石。锁对象:我认为是一个信号量用来标记或区分是否有线程已经获取了锁并进入了需要同步的代码里(即是否加锁)。如synchronized后面括号中的对象(具体是在该对象的对象头中做标记),AQS(AbstractQueuedSynchronizer)抽象队列同步器中的state对象(是一个int类型的数值,在ReentrantLock中state大于0表示已经有线原创 2019-12-23 23:59:30 · 516 阅读 · 0 评论 -
ArrayList源码阅读记录(JDK 1.8)
ArrayList源码阅读记录(JDK 1.8)类继承结构ArrayList中存储的数据结构构造方法添加元素删除元素查询元素修改元素类继承结构public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.i...原创 2019-11-22 16:41:04 · 158 阅读 · 0 评论 -
HashMap源码理解(JDK1.8)
HashMap中存储数据的结构是数组加上链表或者是数组加上红黑树。在ArrayList中存储数据用的数组,在LinkedList中存储数据用的链表,这两种数据结构在查询某个数据的时候都会遍历数组或链表来找到相应的数据再返回,这样的时间复杂度将是O(n)。如果有一种算法可以将一个元素算出一个对应不变的值,再利用数组的特性,将这个计算出来的特征值作为数组的下标索引,那么查找某个元素的时候只需计算出这个值即可通过数组取得这个元素,这样时间复杂度将是常数。这个计算出来的特征值由哈希算法也可叫做散列算法算原创 2019-11-11 10:51:43 · 774 阅读 · 0 评论 -
谈一谈对元注解@Inherited的理解
谈一谈对元注解@Inherited的理解引发思考起因@Inherited说明代码验证引发思考起因在工作中遇到的问题,问题是需要给许多类添加事务,添加事务的原因是这些类原来都继承了同一个父类,由于这个父类的改动导致每个类需要开启事务才能执行。所以使用Spring的事务注解@Transactional去标注每一个子类,后来了解到可以标注在其父类上,然后所有的子类均可继承到这个注解。这得归功于@In...原创 2019-10-18 10:39:46 · 270 阅读 · 0 评论 -
Java一些基本概念
在此记录我学习的笔记,方便以后查阅静态导入:import static +包(好比绝对路径和相对路径的问题)例:import static java.lang.System.out;//调用打印函数则可以这样调用out.println("hello");自动装箱:可以把一个基本数据类型直接赋给对应的包装类例:Integer i=1;//实际上Integer i=new Inte...原创 2019-10-16 17:43:49 · 154 阅读 · 0 评论 -
从java源代码到jar文件到exe可执行文件到setup安装文件
经过一番折腾终于成功将java源代码打包为jar包,再转换为exe执行文件,再转换为安装包。在这里记录下我的过程。需要用到的软件:exe4j,Inno setup。一、将源代码导出为jar文件1、右键单机想要导为jar文件的工程,选择Export。 2、选择Runable JAR file,可运行的jar文件 3、Launch configu...原创 2019-10-16 17:32:47 · 323 阅读 · 0 评论