自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿小河

程序猿初学者

  • 博客(26)
  • 问答 (2)
  • 收藏
  • 关注

原创 Spring中添加自定义标签

在spring中添加一个自定义标签<cxyxh:blog>将属性读取到BeanFactory中,并能通过指定的id获取到Bean。

2020-10-17 16:47:38 525

原创 单例模式的几种实现方式

1. 静态常量饿汉式单例,这种情况优点是简单,缺点是加载的太早了,在加载这个类的时候就被实例化出来了/** * 饿汉式单例 * 缺点:一装载就实例化了,所以不用他,干嘛加载 * 所以就有了懒汉式加载 */public class Singleton { private static final Singleton instance = new Singleton(); private Singleton(){} public static Singleton get

2020-06-22 19:39:01 175

原创 JUC源码解析——FutureTask源码解析

JUC源码解析值FutureTask源码解析,FutureTask是整个线程池执行的主要任务类

2021-12-19 20:49:59 522

原创 Thread.join()方法解析

Thread的join方法解析

2021-11-30 21:19:07 1000

原创 生产者和消费者模式

使用三种方式实现生产者消费者模式:wait/notify、lock/condition、semaphore

2021-11-29 22:06:40 337

原创 两个线程交替打印奇偶数

使用两种方式实现两个线程交替打印奇偶数:同步代码块、wait/notify

2021-11-29 22:05:16 299

原创 查看线程的状态

查看线程的状态

2021-11-28 21:04:29 522

原创 线程的生命周期

线程的生命周期:NEW、RUNNABLE、TERMINATED、BLOCKED、WAITING、TIMED_WAITING

2021-11-28 20:46:50 160

原创 happens-before规则

happens-before规则是在JSR-133中定义的,用来提供多线程情况下跨线程的可见性保证

2021-09-19 21:15:00 499

原创 《深入理解Java虚拟机》读书笔记(三)- 垃圾回收

深入理解java虚拟机读书笔记三-垃圾回收主要是如何判断对象死亡,和引用的介绍

2021-03-28 18:54:19 108

原创 指令重排序

指令重排序的验证和简单解释

2021-02-28 20:16:17 160

原创 深入理解Java虚拟机读书笔记(一)- 运行时数据区域

运行时数据区域1. 程序计数器程序计数器是线程私有的一块较小的内存区域。可以看做是当前线程所执行的字节码的行号指示器,类似于通用寄存器中的PC寄存器,不同的是,PC寄存器是在CPU中的一个寄存器,而这个程序计数器是有Java虚拟机自己实现的一个数据结构。如果线程执行的是一个Java方法,则程序计数器中记录的是正在执行的虚拟机字节码指令的地址;如果执行的是native方法,则这个计数器的值为空。此处内存区域是唯一一个在《Java虚拟机规范》中没有规定任何OutOfMemoryError的区域。PC寄存

2021-02-27 19:21:06 85

原创 MySQL中查看正在执行的SQL并停止

MySQL中查看当前正在执行的SQL并关闭

2020-09-20 23:18:21 8523

原创 mongodb下查询某个字段不为空的文档

mongodb中查询某个字段不为空的doc

2020-07-19 19:43:45 22867

原创 线程的启动

线程的启动1. 线程与进程​ 进程:进程就是在系统中允许的一个个程序,例如QQ.exe 这种就是一个进程。进程是资源拥有的单位。​ 线程:线程是进程中的一个执行流程,就像你使用QQ音乐一边听歌一边浏览歌单一样。线程是CPU进行调度的单位。1.1 为什么会有线程?​ 在系统运行时,CPU会根据时间片来运行各种程序,譬如每个程序执行0.1ms,然后切换到下一个调度单位执行。在最开始的时候是只有进程,CPU调度的单位也是进程,但是发现在CPU时间片切换导致进程的上下文切换时,需要将前一个进程的虚拟内存、

2020-07-11 18:27:55 347

原创 从字节码的角度解析++

Java ++、–的操作​ ++、–在Java中是一个运算符,目的是对变量自增。++、–在Java中有两种形式。后缀形式,m++、n--;前缀形式,++m,--n。前缀和后缀形式都会讲变量的值+1,但是在表达式中,这两种的用法就有差别了。1.1 正常的使用 @Test public void test(){ int m = 11; m--; ...

2019-12-26 21:41:25 348

原创 list的排序

list的排序1. 常用类型的排序一般常用的类型有Integer,Long等包装类型,String,Date,Number类的继承类等。这些常用的类型中有一个共同点就是,都实现了Comparable接口,并且实现了他的compareTo()方法一般常用类型的List的排序就很简单,就按照他的排序规则进行就可以了。List<Integer> ints = new Arra...

2019-09-23 20:35:31 422

原创 SpringBoot学习笔记(五) --- SpringBoot整合JPA

工具:idea 2019.1gradle: 5.2.1SpringBoot 2.1.5JPA的功能十分强大,并且使用简单,将很多常用的SQL语句都封装了起来,并且,它还可以根据你方法的名称来执行相应的SQL语句。接下来就来看一下,JPA在SpringBoot中怎么使用吧。1. 新建项目新建立一个SpringBoot项目,在build.gradle 里面添加相应的依赖,web包和JPA包...

2019-05-25 23:28:44 274

原创 修改修改idea默认的gradle存储的仓库路径,已经下载的镜像地址

使用的是idea自己带的gradle。一般来说idea默认的gradle下载的jar包默认的存储路径是 C盘用户路径下的 .gradle\caches\modules-2\files-2.1 像我的是 C:\Users\admin\.gradle\caches\modules-2\files-2.1。默认的下载地址是外国得总仓库,下载的比较慢。所以一般都选择使用国内的下载镜像,阿里的或者其他。也...

2019-05-19 19:36:25 25777 1

转载 [Java] 通过反射,动态修改注解的某个属性值

转载 原文:https://segmentfault.com/a/1190000011213222昨晚看到一条问题,大意是楼主希望可以动态得建立多个Spring 的定时任务。这个题目我并不是很熟悉,不过根据题目描述和查阅相关Spring 创建定时任务的资料,发现这也许涉及到通过Java代码动态修改注解的属性值。今天对此尝试了一番,发现通过反射来动态修改注解的属性值是可以做到的...

2019-05-15 20:43:01 1450

原创 SpringBoot学习笔记(四) --- SpringBoot整合mybatis(idea+gradle)

1. 新建项目,初始依赖为Web、MySQL、MyBatis2. 项目结构SpringBoot会引入当前版本支持的最大的版本号的组件,譬如mysql引入的就是8.0.15的版本,如果不习惯的话。可以自己去修改依赖引入的代码3. 网application.properties文件中,添加属性在application.properties文件中添加属性,在启动时,SpringBoot容...

2019-04-14 21:54:41 748

原创 SpringBoot学习笔记(三) --- SpringBoot支持JSP开发(idea+gradle)

SpringBoot学习笔记(三) — SpringBoot支持JSP开发工具:idea 2019.1gradle: 5.2.1SpringBoot 2.1.41. 创建一个SpringBoot项目,初始包为web2. 目录结构我们可以发现和我们之前创建的SpringMVC的web项目不一样 ,缺少了webapp目录。SpringBoot建议使用template来进行模板管理,但...

2019-04-12 21:11:49 898 1

原创 SpringBoot学习笔记(二) --- SpringBoot整合Thymeleaf访问HTML页面(idea+gradle)

SpringBoot学习笔记(二) — SpringBoot整合Thymeleaf访问HTML页面1.构建一个新的SpringBoot项目,选择依赖为Thymeleaf和web2. 查看引入的依赖正常,查看项目结构在src文件夹下,除了application.properties文件之外还有两个文件夹 static和templates。static一般用于存放静态资源文件,比如.css文...

2019-04-05 22:44:53 1577

原创 获取JDK源码

获取open JDK源码1. 进入网址 http://jdk.java.net,然后点击下面的8,进入open JDK8下载页面2. 这是open JDK8下载页面, 拉到最后,点击有一个ZIP the file,3.就可以下载open JDK8 的源码了我这里下载的是,openJdk8的和7的...

2019-04-04 21:18:02 6836

原创 SpringBoot学习笔记(一) --- 构建第一个SpringBoot项目(idea + gradle)

SpringBoot学习笔记(一) — 构建第一个SpringBoot项目(idea + gradle)版本1.idea 2019.12.gradle 5.2.13.SpringBoot 2.1.41. 打开idea 开始新建一个项目2.选择使用Spring Initializr 来构建项目Spring Initializr 是一个快速构建的工具,你也可以选择直接构建gradle...

2019-04-04 21:13:39 461

原创 查看idea中默认的gradle本地仓库路径

查看idea中默认的gradle本地仓库1. 在建立的项目中,切换到如下的视图,然后选择External Libraries2. 在展开的目录中选择一个自己导入的jar包,点击打开目录3. 然后选择其中一个类,右键选择copy path4. 到资源管理器中粘贴到URL栏中前面部分的就是idea默认的gradle保存jar包的路径...

2019-04-01 20:25:38 17801 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除