- 博客(152)
- 资源 (19)
- 收藏
- 关注
原创 mvn dependency:tree maven列出依赖树结构 查看冲突依赖 解决依赖冲突
参考地址:https://blog.csdn.net/torpidcat/article/details/130881488。
2024-01-04 14:18:21 462
原创 重写四大组件干预Springboot的启动(菜鸟笔记)
重写四大组件干预Springboot的启动文章目录重写四大组件干预Springboot的启动1. 四大组件2. 重写ApplicationContextInitializer3. 重写SpringApplicationRunListener4. 重写ApplicationRunner5. 重写CommandLineRunner6. 各个组件的执行时机1. 四大组件//需要在META-INF/...
2019-08-22 09:40:46 793 1
原创 springboot的启动源码流程(菜鸟笔记)
springboot的启动源码流程1.几个重要的事件回调机制//放在类路劲下的META-INF/spring.factories文件中ApplicationContextInitializerApplicationListener//先执行ApplicationRunner,再执行CommandLineRunnerApplicationRunnerCommandLineRunner...
2019-08-21 10:14:13 231
原创 NIO基础(菜鸟笔记)
NIOgit样例源码1 JAVA NIO简介NIO与原来的IO有同样的作用和目的,但是使用方式完全不同,NIO支持面向缓存区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。2 java NIO 与 IO的主要区别IONIO面向流面向缓存区阻塞IO(Blocking IO)非阻塞IO(Non Blocking IO)(无)选择器...
2019-08-03 10:26:31 370
原创 dubbo原理整理(菜鸟笔记)
dubbo的框架config 配置层:对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接初始化配置类,也可以通过 spring 解析配置生成配置类proxy 服务代理层:服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton, 以 ServiceProxy为中心,扩展接口为 ProxyFactoryregistry 注册中...
2019-08-01 14:27:23 210
原创 spring扩展源码(菜鸟笔记)
spring扩展原理扩展原理-BeanFactoryPostProcessor说明BeanFactoryPostProcessor是BeanFactory的后置处理器在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容所有的Bean定义已经保存加载到BeanFactory,但是Bean的实例还未创建代码实现//自定义实现BeanFactoryPostP...
2019-07-30 17:23:21 320
原创 spring容器的初始化(菜鸟笔记)
spring容器的初始化//spring容器的初始化spring容器的refresh() 创建刷新1.prepareRefresh() 刷新前的预处理 1.1 initPropertySources();初始化一些属性设置,该方法为空方法,让子类自定义个性化属性配置 1.2 getEnvironment().validateRequiredProperties(); 检验属性的合法性等...
2019-07-30 09:33:30 185
转载 一份非常完整的 MySQL 规范
一、数据库命令规范二、数据库基本设计规范三、数据库字段设计规范四、索引设计规范五、常见索引列建议六、如何选择索引列的顺序七、避免建立冗余索引和重复索引八、优先考虑覆盖索引九、索引SET规范十、数据库SQL开发规范十一、数据库操作行为规范一、数据库命令规范· 所有数据库对象名称必须使用小写字母并用下划线分割· 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包...
2019-03-12 09:39:51 183
原创 单点登录——CAS搭建
CAS1 CAS介绍cas是单点登录框架。CAS是开源项目,代码在GitHub上管理。下载地址:https://github.com/apereo/cas-overlay-template/tree/4.22 CAS服务端搭建我们目前下载使用的是CAS4.2版本,采用HTTPS协议处理用户请求。2.1 HTTPS搭建2.1.1 生成密钥库采用JDK自带的keytool工具生成秘钥库...
2018-12-11 10:03:29 418
原创 springsecurity入门
springsecurity入门教程1. springsecurity介绍Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。2. springsecurity入门...
2018-12-06 10:21:35 608
原创 springsecurity授权源码解读
springsecurity授权源码梳理时序图借用登陆认证过程中涉及的filter过滤器整理从图中可以看出执行的顺序。来看看个人认为比较重要的 几个Filter 的处理逻辑,1.UsernamePasswordAuthenticationFilter上一篇中登陆认证的过程中使用。2.AnonymousAuthenticationFilter//org.springframewor...
2018-11-28 17:12:58 508
原创 springsecurity认证源码跟踪
springsecurity认证源码跟踪时序图(出自大神之手,借用一下,备忘一下)源码跟踪0.发送登陆请求1.org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter过滤器拦截,进入该类的doFilter方法public void doFilter(ServletRequ...
2018-11-27 16:31:25 442
原创 锁对象的改变(菜鸟玩线程)
锁对象的改变理论在将任何数据类型作为同步锁时,需注意的是,是否有多个线程同时持有锁对象,如果同时持有相同的锁对象,则这些线程之间就是同步的;如果分别获得锁对象,这些线程之间就是异步的。示例自定义共享变量类package com.chapter02.thread2_2_16;public class MyService { private String lock = "123"...
2018-11-09 14:55:24 210
原创 synchronized数据类型String的常量池特性(菜鸟玩线程)
synchronized数据类型String的常量池特性在JVM虚拟机中有String常量池缓存的功能,将synchronized(String)同步块与String联合起来使用时,注意常量池带来的一些例外。示例自定义共享变量类package com.chapter02.thread2_2_10;public class Service { public static void ...
2018-11-08 15:03:01 493
原创 静态同步synchronized方法与synchronized(class)代码块(菜鸟玩线程)
静态同步synchronized方法与synchronized(class)代码块理论synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁。synchronized关键字加到static静态方法上是给Class类上锁,而synchronized关键字加到非static静态静态方法上是给对象上锁。一个是对象锁,另外一...
2018-11-08 14:30:42 228
原创 synchronized验证3个理论(菜鸟玩线程)
synchronized验证3个理论1.论证11.1理论当多个线程同时执行synchronized(非this)同步代码块时呈同步效果。1.2落地1.2.1自定义锁对象类package com.chapter02.thread2_2_8_1;public class MyObject {}1.2.2自定义共享变量类package com.chapter02.thread2_2...
2018-11-08 11:52:55 220
原创 synchronized将任意对象作为对象监控器(菜鸟玩线程)
将任意对象作为对象监控器多线程调用同一个对象中的不通名称的synchronized同步方法或synchronized(this)同步代码块时,调用的效果就是按顺序执行,也就是同步的,阻塞的。(1.1)理论:synchronized(非this)…锁非this对象具有一定的有优点:如果一个类中有很多个synchronized方法,这时虽然能实现同步,但会受到阻塞,所以影响运行效率;但如果使用同...
2018-11-08 11:12:24 317
原创 synchronized一半同步一半异步(菜鸟玩线程)
synchronized一半同步一半异步论证不在synchronized块中就是异步执行,在synchronized块中就是同步执行。示例自定义共享类package com.chapter02.thread4;public class Task { public void doLongTimeTask() { for (int i = 0; i < 10...
2018-11-07 11:39:15 686 2
原创 synchronized方法与语句块(菜鸟玩线程)
synchronized方法与语句块弊端凸显定义共享变量实例类package com.chapter02.thread3;public class Task { private String getData1; private String getData2; synchronized public void doLongTimeTask() { ...
2018-11-07 11:14:27 187
原创 脏读(菜鸟玩线程)
脏读脏读一定会出现在操作实例变量的情况下,这就是不同线程”争抢“实例变量的结果。脏读示例定义共享变量实例类package com.chapter02.dirtyRead;public class PublicVar { public String username = "A"; public String password = "AA"; //添加synchr...
2018-11-06 15:14:27 559
原创 synchronized同步方法(菜鸟玩线程)
synchronized同步方法方法内的变量是线程安全的实验1:共享变量类package com.chapter02.thread1;public class HasSelfPrivateNum { public void addI(String username) { int num = 0; try { if (use...
2018-11-05 16:55:43 332
原创 线程优先级(菜鸟玩线程)
线程的优先级在操作系统中,线程可以划分为优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务。设置线程的优先级使用setPriority()方法。线程优先级的继承特性线程的优先级具有继承性,比如A线程启动B线程,则B线程的优先级与A是一样的。线程优先级的规则性高优先级总是大部分先执行完,但不代表高优先级的线程全部先执行完。且线程的优先级与代码...
2018-11-05 15:20:39 221
原创 yield方法(菜鸟玩线程)
yield方法作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行的时间,但是放弃的时间不确定,有可能刚刚放弃,马上获得CPU时间片。代码如下:自定义线程类1 MyThread1——不使用yieldpackage com.thread12;public class MyThread extends Thread { @Override public void r...
2018-11-03 14:55:45 809
原创 暂停线程(菜鸟玩线程)
暂停线程暂停线程,即线程还可以恢复运行。Java多线程中,可以使用suspend()方法停止线程,使用resume()方法恢复线程的执行。suspend与resume方法的使用直接上代码:自定义线程类package com.thread9;public class MyThread extends Thread { private long i; public l...
2018-11-03 14:38:15 248
原创 能停止的线程——return法(菜鸟玩线程)
能停止的线程_使用return停止线程实现代码如下:自定义线程类package com.thread8;public class MyThread extends Thread { @Override public void run() { super.run(); while (true) { if (this....
2018-11-02 16:58:21 3955 1
原创 能停止的线程——在沉睡中停止(菜鸟玩线程)
能停止的线程_在沉睡中停止1.先sleep再用interrupt()停止实现代码如下:自定义线程类package com.thread6;public class MyThread extends Thread { @Override public void run() { super.run(); try { S...
2018-11-02 16:37:52 500
原创 能停止的线程——异常法(菜鸟玩线程)
能停止的线程_异常法在线程中用for循环语句来判断一下线程是否是停止状态,如果是停止状态,则后面的代码不再运行即可。实现代码如下:自定义线程类package com.fiberhome.thread5;public class MyThread extends Thread { @Override public void run() { super.ru...
2018-11-02 15:51:31 182
原创 有状态和无状态的servlet
有状态和无状态的Servlet无状态Servletpackage zzhq;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test1Servlet...
2018-10-22 14:39:56 464 1
原创 菜鸟的鸡汤
最近进入一种“漫无目的闲逛”的状态,让人无法忍受。茫然。事事想太多。试想西天取经,需经九九八十一难,脚踏实地,一步步前行,相信功到自然成。让自己每一个想法都有一个落地。让自己每一个落地都有一个成果。让自己每一个成果带来一刻喜悦。让自己每一份喜悦渲染身边可人。...
2018-10-17 11:59:06 135
转载 菜鸟——收集知识点文章汇集(持续更新中)
SpringMVC消息转换器HttpMessageConverter https://www.cnblogs.com/winner-0715/p/6512806.htmlSpringMVC 测试 mockMVC https://www.cnblogs.com/lyy-2016/p/6122144.html
2018-07-17 14:04:15 175
原创 springboot全局配置
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own appl...
2018-07-13 14:39:49 773
原创 菜鸟谈——java集合之ArrayList
java集合框架之ArrayList1.ArrayList简介public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}Arraylist继承了Ab...
2018-03-19 22:35:06 1421
原创 菜鸟谈——mysql性能优化
mysql性能优化1.熟练使用explain2.使用,并且正确使用索引3.拒绝使用默认设置默认情况下,mysql用于小规模的开发安装,而不是生产模式。如下三个mysql性能优化设置innodb_buffer_pool_size:缓冲池用于存放缓存数据和索引。如果只运行innodb存储引擎,通常会将80%的内存分配给缓冲池。如果您正在进行非常复杂的查询,或者有大量的并...
2018-03-19 22:31:09 215
原创 菜鸟谈——java集合之Collection关系图谱及源码解析
java集合框架之Collection1.类图List和Set都是接口,它们都继承自Collection。List是有序的队列,可以有重复的元素;set不能有重复的元素。为了方便,抽象出了AbstractCollection类,让其他类继承,该类实现了Collection中的绝大部分方法。AbstractList、AbstractSet、AbstractQueue都继承自Abs...
2018-02-10 21:10:29 1168
solr服务器的搭建
2017-11-30
权限管理shiro学习总结
2017-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人