加载中
Java Agent

最近在看 transmittable-thread-local 这个项目(用于将父线程的ThreadLocal传给子线程)的时候发现他使用到了 java agent的技术。 java agent 先说一下它的用途,在JDK1.5以后,我们可以使用a...

08/10 21:56
93
Spring Security 原理分析(一)

Spring Security 初始化 在普通的spring mvc 框架中,我们需要 @Configuration @EnableWebSecurity public class MyWebSecurityConfiguration extends WebSecurityConfigurerAdapter 手动添加...

服务端排查手册(不定时更新)

GC 排查 当服务端发生大量gc时,会导致各种各样的问题。 比如你以为是网络问题,发现响应速度非常慢。实际上,可能是正在疯狂gc。 在排查 gc前,当然需要先知道一些gc的简单知识,比如这里 ...

06/18 17:31
61
JVM 的 GC 简单知识

JVM 内容 在 jvm 中内存大概可以这样划分。(1.6 和1.8 有些区别) 我们经常看到的 “PermGen space” 其实指的就是方法区。不过方法区和“PermGen space”又有着本质的区别。前者是JVM的规范...

spring boot到底干了啥(二)

目录 spring boot到底干了啥(一) run() public ConfigurableApplicationContext run(String... args) { ........ //<4> ConfigurableEnvironment environment = this.prepareEnvironment(l...

06/03 17:36
120
spring boot到底干了啥(一)

前言 对于服务端开发来说,新项目大多数都会基于spring boot进行开发。 而是用spring boot的项目一般都会有这么一行代码 SpringApplication.run(TestApplication.class, args); 这是Spring ...

BPM 流程编排

PS:以下解释其实并不能完全说明流程编排,以及BMP工具的所有作用,但是对于我想要处理的问题,这样理解倒是合适的。 在实际开发中,我们经常需要定义一个对事件的处理流程。比如在页面上展示...

03/24 15:35
443
Metaspace

一、从方法区(PermGen)到元空间(Metaspace) 方法区(PermGen) JDK1.8以前的HotSpot JVM有方法区,也叫永久代(permanent generation)。 方法区用于存放已被虚拟机加载的类信息、常量、静态变量...

03/10 19:54
167
CAS 原子操作

所谓原子操作类,指的是java.util.concurrent.atomic包下,一系列以Atomic开头的包装类。例如AtomicBoolean,AtomicInteger,AtomicLong。它们分别用于Boolean,Integer,Long类型的原子性操...

CAS
02/21 21:27
113
HashMap 到底是个什么东西

参看 https://zhuanlan.zhihu.com/p/21673805 这张图基本能说明目前hashmap的结构。

02/21 19:53
285
JAVA线程间通信手段

notify 及 wait 这是一个基础的使用,但是这里有一个坑。notify 和 notifyAll的区别 其实,每个对象都拥有两个池,分别为锁池(EntrySet)和(WaitSet)等待池。 锁池:假如已经有线程A获取到了锁...

02/13 17:37
86
如何伪装成一个服务端开发 -- Spring Cloud(一)

分布式开发 如果你是一个服务端开发,那么你就必须要掌握所谓的分布式开发。在Spring Boot中提供了分布式开发的套件 Spring Cloud。 Spring Cloud在Spring家族中也算是最为庞大的一员,有非常...

02/12 12:14
115
深入理解 NIO

前言 基于BIO实现的Server端,当建立100个连接时会有多少个线程?如果基于NIO会有多少个线程? BIO 所谓的BIO 就是最传统的 socket链接嘛,比如: int port = 4343; //端口号 // Socket 服务...

01/19 18:17
180
堆外内存 DirectByteBuffer

用户态和内核态 自行谷歌了解下。简单来说,就是执行运行在用户空间的进程,运行在内核空间的进程时两种不同的机器状态。 文件拷贝 假设用伪代码实现从一个文件中读出数据并将数据传到另一台...

01/19 17:05
536
如何伪装成一个服务端开发 -- Spring Security

简介 一个简单的总结就是,利用Filter(servlet)进行访问权限控制的spring 安全组件。 Spring Security 在进入到 DispatcherServlet 前就可以对 Spring MVC 的请求进行拦截,然后通过一定的...

01/03 17:57
69
CSRF 跨站点请求伪造

跨站点请求伪造(Cross-Site Request Forgery,CSRF)是一种常见的攻击手段,我们先来了解什么是 CSRF。如图12-3所示,首先是浏览器请求安全网站,于是可以进行登录,在登录后,浏览器会记录...

01/03 15:34
145
idea 远程docker部署 Spring Boot 项目

前言 饭要一口一口吃的嘛,在进入玩什么faas啊,k8s这些听上去就很牛的东西之前,我们总归是要知道小微应用的简单部署不是。 设置docker开启远程访问功能 PS : 首先我们不建议在真正应用领域...

线上排查工具--- arthas

线上排查 当我们发现线上问题,或者想知道一些线上运行情况,jvm状况,类加载情况。 这个时候就可以使用arthas。 #能够干啥 jvm相关 dashboard——当前系统的实时数据面板 thread——查看当前...

2019/11/29 14:45
612
docker初学者(三)

分层存储 docker是分层存储的,构建镜像的时候我们要保证每一层都只包含我们的应用需要的东⻄,不要包含不需要的文件,因为每一层在构建之后不再发生变化,所以即使你在之上的层删除了那些不...

2019/11/06 20:09
48
docker初学者(二)

数据卷 之前我们创建一个容器,并且在容器中创建了一个文件。然后将容器重新提交成一个镜像,这样我们使用该镜像创建新容器时就包含这个文件了,但是这种方案实际上并不推荐,docker对于数据...

2019/10/29 20:27
39

没有更多内容

加载失败,请刷新页面

返回顶部
顶部