自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 后台管理系统Springboot+Shiro+JWT+Vue

项目开发中,后台系统尤为重要,最近就想搞一套能拿来直接使用的后台管理系统。框架: Shiro,Shiro作为安全框架,实现登录、登出、身份验证、授权、会话管理。 JWT,Json Web Token负责访问接口时的验证。 Vue,前端框架,因为本身不是前端开发,所以Clone了某位高人在github上的模版。写的非常好,简单易用。https://github.com/PanJiaChen/vue-admin-template 前端代码就是照葫芦画瓢,不过很多地方也googl

2020-10-24 16:40:48 1338

原创 Spring-ShardingSphere-jdbc 分库 分表

最近搞了ShardingSphere,这里做一下记录。官网:http://shardingsphere.apache.org/index_zh.html先确定一下版本<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version&g...

2020-09-27 18:37:19 474

原创 Springboot+rocketMQ 发送消息

先确定一下版本 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.3.3.RELEASE</version> </depende

2020-09-08 17:27:50 1564 2

原创 spring cloud eureka hystrix zuul 配置

自己搞了一套Spring cloud 的代码示例GitHub :https://github.com/libinjimubox/spring-cloud-my

2020-08-30 13:44:39 118

原创 spring cloud zuul errorFilter 不生效

最近搞了搞 spring cloud的全家桶,在用到zuul的时候,有一些问题,这里记录一下先上一段配置,根据配置来说说spring: application: name: zuul-providerserver: port: 9096eureka: client: serviceUrl: defaultZone: http://localhost:8763/eureka/,http://localhost:8762/eureka/,http://lo

2020-08-27 12:01:10 1626

原创 spring 创建bean过程

1 ContextLoaderListener<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> &lt...

2020-04-17 15:05:13 164

原创 虚拟机(9)语法糖

/** * 泛型 , * 此示例包含泛型,自动装箱,自动拆箱,遍历循环,变长参数 5种语法糖 */public class Generics { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,3,4); int su...

2019-07-13 16:30:23 112

原创 java Map

HashMapJDK1.7 HashMap1.7 数组+链表方式存储数据,数组是Entry对象组成的数组,对key进行hash,hash后的结果作为数组下标,如果不同key的hash结果相同,就将Entry数据组成链表存放在对应的数组下变量 /** * 默认容器容量 */ static final int DEFAULT_INITIAL_CAPAC...

2019-05-22 16:34:59 140

原创 线程,同步器,锁

线程线程状态状态名称 说明 NEW 初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE 运行状态,Java线程将操作系统中的就绪和运行两种状态都笼统的称作为“运行中” BLOCKED 阻塞状态,表示线程阻塞于锁上 WAITING 等待状态,表示线程进入等待状态,进入等待状态表示当前线程需要等待其他线程作出一些特定动作(通知...

2019-05-22 16:32:04 100

原创 Java 内存模型

主内存与工作内存 Java内存模型的主要目标是定义程序中哥哥变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量与Java编程中所说的变量有所区别,它包括了实例字段、静态字段、和构成数组对象的元素,但不包括局部变量与方法参数,因为后者是线程私有的,不会被共享,自然不存在竞争问题。 Java内存模型规定了所有的变量都存储在主内存(Main Me...

2019-05-21 14:01:50 146

原创 虚拟机(9)语法糖

/** * 泛型 , * 此示例包含泛型,自动装箱,自动拆箱,遍历循环,变长参数 5种语法糖 */public class Generics { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,3,4); int sum ...

2019-05-21 14:00:23 141

原创 虚拟机(8)方法调用

方法调用方法调用不等同与方法执行,方法调用阶段唯一的任务就是确定调用方法的版本。就是调用哪一个方法。不涉及到方法内部运行过程。解析方法调用的目标方法在Class文件里面都是一个常量池中的符号引用。在类加载解析阶段,会将一部分符号引用转化为直接引用,这种解析成立的前提就是:方法在程序执行之前就有一个可确定的调用版本,并且这个调用版本在运行期间是不可以改变的。这类方法调用称为“解析”(...

2019-05-21 13:59:43 137

原创 虚拟机(7)虚拟机字节码执行引擎

运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储类方法的局部变量表、操作数栈、动态链接的方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。 在编译程序代码的时候,栈帧中需要多大的局部变量表,多深的操作数栈都已经完全确定了,并且写入到方法表的Code...

2019-05-21 13:58:39 108

原创 虚拟机(6)类与类加载器

类与类加载器 每一个类加载器,都有一个类名称空间。要比较两个类是否“相等”,只有在这两个类由同一个类加载器加载的前提下才有意义。双亲委派模型启动类加载器(Bootstrap ClassLoader):这个类加载器负责将存放在<JAVA_HOME>\lib 目录中的,或者被-Xbootclasspath参数所指定的路径中,并且是虚拟机识别的(仅按照名字识别,例如 rt....

2019-05-21 13:57:49 109

原创 虚拟机(5)虚拟机类加载机制

1. 类加载时机 类从被加载到虚拟机内存中开始,到被卸载出内存为止,生命周期包括:加载,验证,准备,解析,初始化,使用,卸载。7个阶段。 加载,验证,准备,初始化和卸载着5个阶段是顺序确定的,必须按照这个顺序开始,而解析阶段不一定,在某些情况下可以在初始化阶段之后再开始。 虚拟机规范严格规定了有且只有5中情况必须立即对类进行“初始化”(那么加载,验证,准备自然就需要在...

2019-05-21 13:54:34 113

原创 虚拟机(4)内存分配与回收策略

对象的内存分配,大概就是往堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按照线程优先在TLAB上分配,少数情况下会直接分配在老年代中,分配规则不是固定的,这取决于使用了哪种垃圾收集器还有虚拟机中与内存相关的参数的设置。对象优先在Eden分配大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次MinorGC。大对象...

2019-05-21 13:51:46 147

原创 虚拟机(3)垃圾收集器

1. Serial(串行)收集器 单线程,串行,gc时会Stop The World,新生代采用复制算法,暂停所有用户线程。新生代收集器2. ParNew(并行)收集器 ParNew收集器就是Serial收集器的多线程版本。新生代收集器3. Parallel Scavenge 收集器 是一个新生代的收集器,目的是达到一个可控制的吞吐量,所谓的吞吐量就是CPU用...

2019-05-21 13:50:29 137

原创 虚拟机(2)垃圾收集算法

垃圾收集算法1. 标记-清除算法 同名字一样,有“标记”和“清除”两个阶段。首先标记出所有要回收的对象,在标记完成后进行统一的回收。 没有被标记的对象将会回收清除掉,而被标记的对象将会留下。 有主要两个不足: 一个是效率不高,标记和清除两个过程的效率都不高,在进行GC的时候会停止程序,因为如果不停止程序,如果new了A对象,然后GC,GC的时候B对象引用...

2019-05-21 13:48:52 83

原创 虚拟机(1)运行时数据区域

java虚拟机在执行java程序的过程中会把它管理的内存分为若干个不同的数据区域程序计数器 java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量池 直接内存程序计数器程序计数器(program counter register)是一块较小的内存空间,它可以看作是当前线程执行的字节码行号指示器。工作原理就是通过改变这个计数器的值来选择当前线程的下一条需要执行的字...

2019-05-21 13:19:37 103

原创 Java 阻塞队列,并发工具

阻塞队列阻塞队列支持阻塞插入和阻塞移除阻塞插入方法:就是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 阻塞移除方法:就是当对为空时,获取元素的线程会等待队列变为非空。方法/处理方式 抛出异常 返回特殊值 一直阻塞 超时退出 插入方法 add(e) offer(e) put(e) offer(e, time, un...

2019-02-02 17:32:00 475

原创 java Map

HashMapJDK1.7 HashMap1.7 数组+链表方式存储数据,数组是Entry对象组成的数组,对key进行hash,hash后的结果作为数组下标,如果不同key的hash结果相同,就将Entry数据组成链表存放在对应的数组下变量 /** * 默认容器容量 */ static final int DEFAULT_INITIAL_CAP...

2019-02-01 16:43:00 81

原创 线程,同步器,锁

线程状态名称 说明 NEW 初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE 运行状态,Java线程将操作系统中的就绪和运行两种状态都笼统的称作为“运行中” BLOCKED 阻塞状态,表示线程阻塞于锁上 WAITING 等待状态,表示线程进入等待状态,进入等待状态表示当前线程需要等待其他线程作出一些特定动作(通知或中断...

2019-01-12 20:55:00 91

空空如也

空空如也

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

TA关注的人

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