自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springcloud系列学习:服务网关-Gateway

SpringCloud Gateway是Spring Cloud的一个全新项目,基于Spring5.0+Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为微服务架构提供一个简单有效的统一的API路由管理方式。SpringCloud Gateway作为Spring Cloud生态系统中的网关,目标是替代zuul,在Spring Cloud2.0以上版本中,没有对新版本的Zuul2.0以上最新高性能版本集成,仍然还是使用的Zuul1.x非Reactor模式的老版本。而为

2020-08-17 11:22:28 346

原创 查看端口占用

windows环境1.打开命令行窗口2.输入命令netstat -ano查看所有链接3.找出对应的端口号,找出对应的PID4.打开任务管理器,点击详细信息。找到对应的PID,找到使用该端口的应用。Linux系统:方式1:输入命令 lsof -i:端口号方式2:netstat -tunlp|grep 端口号...

2019-05-15 22:40:55 123

原创 《spring实战》学习笔记:4.AOP编程

面向切面编程(AOP):通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP术语:通知(Advice):就是需要进行加强的一些操作,方法。连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。切入点(Pointcut):匹配连接点的断言。通知和一个切入点表达...

2019-03-28 19:50:48 206

原创 《spring实战》学习笔记:3.高级装配Bean

使用Spring profile软件开发过程一般涉及“开发 -> 测试 -> 部署上线”多个阶段,每个阶段的环境的配置参数会有不同,如数据源,文件路径等。为避免每次切换环境时都要进行参数配置等繁琐的操作,可以通过spring的profile功能来进行配置参数的切换。profile可以理解为我们在Spring容器中所定义的Bean的逻辑组名称,只有当这些Profile被激活的时候...

2019-03-26 23:27:09 157

原创 多线程学习笔记:8.线程安全和锁优化

线程安全的实现方法1.互斥同步互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保障手段。同步是指在多个线程并发访问共享数据时,保证共享数据在同一个时刻只被一个(或者是一些,使用信号量的时候)线程使用。而互斥是实现同步的一种手段,临界区(Critical Section)、互斥量(MuTex)和信号量(Semaphore)都是主要...

2019-03-03 23:51:24 136

原创 《spring实战》学习笔记:2.装配Bean

声明BeanSpring容器提供了两种配置Bean的方式,1.使用XML文件作为配置bean对象, 2.基...

2019-03-02 17:22:03 165

原创 《spring实战》学习笔记:1.Spring简介

Spring的概念Spring是一个分层的一站式轻量级开源框架,也是一个容器框架。侵入式设计:引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。如:Struts框架。非侵入式设计:引入了框架,对现有的类结构没有影响。spring属于这一类。Spring的目标:可以解决对象创建以及对象之间依赖关系的一种框架,降低Java开发的复杂性。为了降低Java开发的复杂...

2019-03-02 12:19:11 304 1

原创 多线程学习笔记:7.java内存模型与线程

Java内存模型(Java Memory Model,JMM):JMM是一种规范,用来屏蔽各硬件和操作系统的内存访问差异,以实现让Java程序在各平台下都能达到一致的内存访问效果。1.主内存与工作内存:Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字...

2019-03-01 23:43:19 107 1

原创 多线程学习笔记:6.线程常用概念和方法

1.休眠调用sleep()方法可以让线程睡眠指定时间。调用后线程进入超时等待状态。2.优先级线程的优先级为1—10共10个级别。调度器倾向于让优先级高的线程先执行。所以优先级越高,被执行的频率就越高。线程的默认优先级为5.可以使用getPriority()方法获取当前线程优先级,使用setPriority()方法设置线程优先级。JDK的10个优先级与多数操作系统不能很好的映射,...

2019-01-27 16:56:42 126

原创 多线程学习笔记:5.ThreadPoolExecutor执行过程初步了解。

变量ctl实现原理:ThreadPoolExecutor中使用变量ctl来描述线程池状态,存储的是当前线程池的运行状态和线程池中的线程总数,相关代码如下:    private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); //数值为29,用于区分线程池状态区和线程池总数区 private ...

2019-01-27 11:38:00 152

原创 多线程学习笔记:4.线程状态分析

Thread类中用state枚举定义了线程的6种状态:各状态具体含义:NEW(新建):创建后尚未启动的线程处于这个状态。RUNNABLE(可运行):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”,也就是处于此状态的线程可能正在运行,也可能正在等待系统资源,如等待CPU为它分配时间片,等待网络IO读取数据。两种状态之间的相互转换是系统调度完成的...

2019-01-26 15:04:22 137

原创 多线程学习笔记:3.使用线程池技术实现多线程二。

ThreadPoolExecutor:之前创建的各种线程池,实际都是通过调用该类的构造方法创建的。public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...

2019-01-23 22:36:10 115

原创 多线程学习笔记:2.使用线程池技术实现多线程一。

参考文档:https://blog.csdn.net/wang7807564/article/details/80048648 https://blog.csdn.net/he90227/article/details/52576452线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Jav...

2019-01-22 23:26:20 224

原创 多线程学习笔记:1.实现多线程的四种方式

Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用线程池技术ExecutorService、Callable、Future实现有返回结果的多线程。1、继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过...

2019-01-21 22:25:31 132

原创 深入理解JVM学习笔记:第3章 垃圾收集器与内存分配策略

回收java堆:怎么确定对象可回收?引用计数算法:     给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。缺点是无法解决对象之间相互循环引用的问题。可达性分析算法:      以一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Ref...

2018-12-19 23:03:20 254

原创 字符串常量池和String.intern()方法在jdk1.6、1.7、1.8中的变化

字符串常量池是运行时常量池                     在JDK1.6中,它在方法区中,属于“永久代”.                     在JDK1.7中,它被移除方法区,放在java堆中。                     在JDK1.8中,取消了“永久代”,将常量池放在元空间,与堆独立。public class RuntimeConstantPool...

2018-12-11 21:25:59 1274 5

原创 深入理解JVM学习笔记:第2章 Java内存区域与内存溢出异常

Java虚拟机运行时数据区组成:1.程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。用来指示当前线程执行到了哪里,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。如果线程正在执行的是一个Java方法,这个计数器记录的是正在执...

2018-12-09 23:00:04 150

转载 使用Xshell+Xmanager完成连接linux远程桌面

参考博客:https://blog.csdn.net/bc_aptx4869/article/details/78218084需提前安装Xshell和Xmanager.并且linux系统已经成功安装图形化桌面。1.运行Xmanager - Passive,它启动后会自动最小化窗口。2.打开xshell,连接上linux服务器,并在建立连接时,设置连接属性,在 SSH –> t...

2018-12-08 09:18:52 15460

空空如也

空空如也

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

TA关注的人

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