自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 集合(一) AbstractList 源码阅读

第一次仔细的看源码,我是直接将AbstractList的源码复制一份,放在自己建立的AbstractList上面,对英文注释去掉,改成中文注释,并且加入自己的理解.package com.lin;import java.util.*;/** * AbstractList 源码解析 * @author LCW * @since 2020/11/25 19:05 */public abstract class AbstractList<E> extends AbstractCol

2020-11-26 09:20:17 35951

原创 多线程(十)守护线程和用户线程

线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护执行完毕如,后台记录操作日志,监控内存,垃圾回收等也就是说,用户线程单独存在,不会因为其他线程而影响它的运行,但是守护线程依赖用户线程存在,只要用户线程全部执行完毕,守护线程也会退出,虚拟机不用等待守护线程执行完毕。/** * 测试守护线程 * @author LCW * @since 2020/11/10 16:14 **/public class TestDaemon { public stati.

2020-11-24 18:44:13 1318

原创 多线程(九)线程优先级

Java提供一个线程调度器来监控程序中启动机后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围是1~10Thread.MIN_PRIORITY=1;Thread.MAX_PRIORITY=10;Thread.NORM_PROORITY=5;使用以下方式改变或获取优先级getPriority(().setPriority(int xxx)优先级低只是意味着获得调度的概率低,并不是优先级低就不会被调用了,这都是都看Cpu的调度/.

2020-11-24 18:34:27 1370

原创 多线程(八)synchronized(线程同步)

多个线程操作同一个线程并发:同一个对象被多个线程同时操作线程同步:现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决班法就是排队,一个个来。处理多线程问题时, 多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问

2020-11-24 18:25:58 1360

原创 多线程(七)yield(线程礼让)和join(线程强制执行)

线程礼让–yield礼让线程,让当前正在执行的线程暂停,但不堵塞将线程从运行状态转为就绪状态让CPU重新调度,礼让不一定成功!看CPU心情举例 - 堵塞是运动员摔倒了,需要恢复完再进行比赛 - 而就绪状态指的是运动员准备跑了 - 运行状态,运动员在奔跑中 - 线程执行了yield,就是让当前处于运行状态的线程暂停,但不阻塞,就是指让奔跑的运动员停下来,然后重新跑/** * 测试礼让线程 * 礼让不一定成功,看cpu心情 * * @author LCW * @since 2

2020-11-24 17:40:56 1019

原创 多线程(六)线程的五大生命周期,六个状态,七种基础状态

关于线程的六个状态可以看一下:Java线程的6个状态建议先看一下上面的文章,再看下面的文章。线程的五大生命周期NEW:         线程新建状态RUNNABLE:     就绪状态RUNNING:          运行状态BLOCKED:       堵塞状态TERMINTED:    终止状态看完Java线程的6个状态我们会发现五大状态比Thread.state多了一个RUNNING状态,但是少了TI

2020-11-19 20:26:09 4009

原创 多线程(五)wait()和sleep()的异同

1.来自不同的类wait() ==>Object类sleep() ==>Thread类2.关于锁的释放sleep()是使线程休眠,不释放锁;wait方法是在获取锁情况下进行等待的,等待时会释放锁;3.使用的范围sleep()可以在任何地方使用,wait ()只能在同步代码块(synchronized) 使用,否则会抛 IllegalMonitorStateException异常4.使进程进入的状态sleep()会使得线程进入TIME_WAITING状态,而wait()会使

2020-11-19 19:19:04 2126

原创 多线程(四)Java线程的6个状态(用代码测试在控制台打印状态)

Java线程有多少个状态?直接查看Thread.state类public enum State { NEW,// 尚未启动的线程处于此状态 RUNNABLE,// 在Java虚拟机中执行的线程处于此状态 BLOCKED,//被堵塞等待监视器锁定的线程处于此状态 WAITING,//等待,死死的等,等待另一个线程执行特定动作的线程处于此状态 TIMED_WAITING,//超时等待,等待另一个线程执行动作达到指定等待时间的线程处于此状态。 TERMINATE

2020-11-18 23:19:45 4215

原创 多线程(三)Java线程创建的三种方式

三种创建方式Thread class 继承Thread类重写runnable方法实现callable方法创建线程方式一:继承Thread类,重写run()方法,调用start开启线程/** *创建线程方式一:继承Thread类,重写run()方法,调用start开启线程 * 总结:注意,线程开启不一定立即执行,由cpu调度执行 * * @author LCW * @since 2020/11/9 8:57 **/public class TestThread1 exten

2020-11-18 21:18:38 3968

原创 多线程(二)并发和并行

并发(多线程同时操作同一个资源)单核CPU ,模拟出多条线程,快速交替并行(多个人一起行走,多个人处理多件事情)多核CPU,多个线程可以同时执行,同时干不同的事情简而言之,就是并发是多个线程交替执行,反正一个CPU就只能同时处理一个线程,而并行就是指多个CPU,它可以同时处理多件事情获取本机电脑CPU的核数public class Test { public static void main(String[] args) { //获取cpu的核数

2020-11-18 20:00:11 4082

原创 多线程(一)程序,进程,线程的区别与联系

程序、进程、线程的概念程序是指令的有序集合,被存储在磁盘或其他的数据存储设备中,是一个静态概念,其本身没有任何运行的含义。进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统运行程序的基本单位,因此进程是动态的。线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。程序

2020-11-18 17:34:18 5285

原创 解决拦截器中调用service层显示空指针

设置springboot让拦截器时,拦截器对象不要 new 拦截器对象,而是使用bean注入的方式。/** * 配置webapp,使得拦截器生效 * @author LCW * @since 2020/11/2 21:30 **/@Configurationpublic class WebAppConfigurer implements WebMvcConfigurer { @Autowired private AuthorizationInterceptor authori

2020-11-03 16:15:22 6325 1

原创 Springboot从mysql数据库中获取日期,在前端显示少了8小时

原因是springboot自带的json时区跟mysql的时区不同,所以需要修改成和mysql相同的失去,然后下面一行是设置时间的格式。spring: #配置json时间区 jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss...

2020-11-03 16:11:38 6342

原创 Springboot 结合JWT做用户登录验证

<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.16</version> </dependency> <dependency> <g...

2020-11-02 23:02:16 5859

原创 通过code和小程序的appId,secretKey获取用户的openid、access_key等信息

/** * 通过code和小程序的appId,secretKey获取用户的openid、access_key等信息 * @author LCW * @since 2020/11/2 21:39 **/public class WxOpenIdUtils { public static String login(String code, String appId, String secretKey) { // 创建Httpclient对象 Closeable.

2020-11-02 22:56:20 7711

原创 eclipse实现和idea一样的代码提示功能

在auto activation triggers for Java默认是. 表示只有.才会进行代码提示这里只需要写上26个字母.abcdefghijklmnopqrstuvwsyz表示只要是上面的字母就会进行代码提示

2020-06-30 21:50:47 7059

原创 链表的赋值给新的链表后,两个链表的相互影响解析

public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; } @Override public String toString() { return "ListNode{" + "val=" + val + ", next=" + next +

2020-06-26 11:35:54 8142

原创 Java爬虫之HttpClient的使用

HttpClient导入httpclient依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version> </dependency>Get请求public class HttpGetT

2020-06-22 09:25:19 6046

原创 idea操作maven时控制台中文显示乱码,数据库获取数据乱码

打印出现乱码问题在vm options 添加-Dfile.encoding=UTF-8

2020-06-22 07:57:59 6293

原创 Exchange几种交换机类型

Exchange交换机Exchange:接收消息,并根据路由键转发消息锁绑定的队列交换机属性Type:direct、topic、 fanout、headersDurability:是否需要持久化、true为持久化Auto Delete:当最后一个绑定到Exchange上的队列删除后,自动删除该exchangeInternal: 当前exchange 是否用于Rabbi...

2020-04-04 01:07:35 6493

原创 在linux上安装rabbitmq的步骤

准备:直接整段复制,然后enter就可以了yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz下载:wget www.rabbitmq.com/releases/erlang/er...

2020-03-31 16:58:44 5846

原创 rabbitmq的常见命令行与管控台操作

关闭应用:rabbitmqctl stop_app启动应用:rabbitmq start_app节点状态:rabbitmq status 添加用户:rabbitmqctl add_user username password查看所有的用户:rabbitmqctl list_users删除用户:rabbitmqctl delete_user username清除用...

2020-03-31 16:46:09 5943

原创 外观模式的应用(Java)

外观模式1.定义:外观模式又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口,外观模式定义了一个高层接口,让子系统更容易使用2.使用场景子系统也越来越复杂,添加外观模式提供简单调用接口构建多层系统结构,利用外观对象作为每层的入口,简化层间调用3.优点简化了调用过程,无需了解深入子系统,防止带来风险减少系统依赖,松散耦合更好的划分访问层次符合迪米特原...

2020-03-29 14:06:06 6059

空空如也

空空如也

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

TA关注的人

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