- 博客(12)
- 收藏
- 关注
原创 OOP-Klass 模型学习笔记
oop-klass类加载器将.class文件加载进系统,将.class文件解析,生成的是什么?类的元信息在JVM中是如何存储的InstanceClass对象的内存结构klass pointerArrayClass 数组类的元信息Java中的数组 1、静态数据类型: JVM内置的八种数据类型 2、动态数据类型: 运行时动态生成的class java 类 (java代码)klass java类在JVM的存在形式(c++代码)类的加载过程加载1、通过类的全限定名获取存储该
2020-08-15 22:28:54 465
转载 spring bean的生命周期回调和容器的生命周期
有关Spring的生命周期回调在官网https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-lifecycle有详细讲解。spring的生命周期回调分为Bean的生命周期回调和容器的生命周期回调。1 Bean的生命周期回调1.1 Bean的生命周期初始化回调1.1.1 @PostConstruct注解@Component@Scope(Configu
2020-08-05 23:42:21 232
原创 Spring 单例模式bean 中引用原型模式bean的一些考虑
一、bean的作用域众所周知Spring bean的作用范围取值有五种(scope属性控制):singleton:单例,也是默认值prototype: 多例,比如让Spring接管struts2的action的时候就必须配置此属性request: 一次请求以及此次请求的转发session: 作用范围是一次会话globalsession: 作用范围是一次全局绘画,比如多台服务器之间需要共用同一个bean的时候就需要此属性。二、单例的bean引用原型模式的beanSingletonA 的代
2020-08-02 16:09:03 548
原创 Spring IOC、DI的概念和@Autowired注入
最近看到一位大神的视频讲解Spring的IOC、Bean的注入方式。打算整理一下,分享出来。一、 Spring的IOC、DI概念IOC 全称 Inversion of Control 控制反转,DI 全称 dependency injection 依赖注入。很多博客文章都在表达一个意思IOC:把创建实例的控制权交给框架,由框架创建实例(控制反转)并把实例分发给调用的程序(依赖注入)。DI:把代码向对象属性或实例对象注入属性值或域属性的控制权限转给Spring容器进行控制。从上面的文字描述结合实际
2020-08-01 19:16:05 983 1
原创 第五节 netty源码分析-ChannelPipeline的addLast方法解析
一、概述在第四节中,分析了ServerBootstrap的bind()方法,主要分析了initAndRegister方法,这个方法调用的层次很深,还有几个主要的地方没有讲到,其中在initAndRegister()调用的ServerBootstrap.init()方法里面会用pipeline.addlast()方法。前面分析过new NioServerSocketChannel是默认创建DefaultChannelPipeline。所以就看io.netty.channel.DefaultChannelPi
2020-06-05 15:05:05 3619
原创 第四节 netty源码分析-ServerBootstrap的bind方法解析
一、概述在第二、三节中,分析了NioEventLoopGroup 的构造方法,里面会生成JDK的selector,和NioEventLoop数组。ServerBootstrap 是服务端启动辅助类,里面会涉及到ServerSocketChannel的事件监听,Handler的初始化等等,这一切的入口都是有bind()方法完成的。二、ServerBootstrap的使用 //服务端启动类,通过这个可以设置一系列的参数 ServerBootstrap serverBootstrap = n
2020-06-04 11:45:51 466
转载 JdbcDataSourceStat、MybatisSQL拼接引起老年代内存不断增加
原文地址:惨遭DruidDataSource和Mybatis暗算,导致OOM先遭DruidDataSource袭击事发一个平凡的工作日,我像往常一样完成产品提出的需求的业务代码,突然收到了监控平台发出的告警信息。本以为又是一些业务上的bug导致的报错,一看报错发现日志写着java.lang.OutOfMemoryError: Java heap space。接着我远程到那台服务器上,但是卡的不行。于是我就用top命令查了一下cpu信息,占用都快要到99%了。再看看GC的日志发现程序一直在Full G
2020-06-02 10:48:32 2299 1
原创 第三节 netty源码分析之NioEventLoopGroup的 newChild()方法分析
一、概述在第二节中,分析了NioEventLoopGroup 的构造方法,会调用到父类MultithreadEventExecutorGroup的构造方法,里面有一个很重要的方法children[i] = newChild(executor, args),这个方法被NioEventLoopGroup重写了。这一节就分析一下newChild做了什么。二、NioEventLoopGroup的newChild方法 protected EventLoop newChild(Executor executo
2020-05-26 09:52:36 334
原创 第二节 netty源码分析之NioEventLoopGroup的构造函数分析
一、概述上一节中,讲了netty的基本应用。这一节主要是根据上一节的应用代码一行行的进行netty的源码分析。上一节的应用代码的main函数里面的第一行是new NioEventLoopGroup(1),下面就分析一下NioEventLoopGroup 的构造方法。二、NioEventLoopGroup从类的名字翻译出来 Nio事件轮训组。讲道理的话,它跟线程组是一个意思,都是有一组线程在做同样的申请,就是轮训Channel的IO事件。先看NioEventLoopGroup 的构造方法。publi
2020-05-20 09:20:27 338
原创 第一节 netty源码分析之简单应用
一、背景最近在看netty相关的源码,就想整理一下,加深一下印象。Netty 是一个 网络编程框架,对Java socket通信编码做了很多的抽象封装,开发人员使用起来非常简单。二、netty的简单应用服务端源码public class DemoServer { public static void main(String[] args) throws InterruptedException { //创建 boss线程,用来监听客户端的链接,一般线程数为1,
2020-05-17 00:23:50 189
原创 HTML_CSS学习小结
CSS样式:1、背景background-attachment:fixed //滚动页面时,图片固定不动background-position 背景图定位2、border(边框) border-width 边框宽度border-style 边框样式 solid实线 dashed 虚线 dotted点线border-color 边框颜色
2015-10-29 09:12:23 407
原创 微信公众平台开发之用户绑定
作为一个刚毕业的大学生,一进公司就被安排到新的项目组进行微信公众平台开发。作为一个菜鸟,顿时觉得压力山大,最重要的是,公司里还没有人做个这方面,一直都只能靠自己摸索。这篇文章只能说是我个人在做微信开发过程中的一些记录。在微信公众平台里,每个用户对每个公众号的OpenID是唯一的,对于不同公众号,同一用户的openID不同。所以用户绑定,可以用OpenID绑定,也可以用OpenID来获取用户
2015-10-26 10:37:48 5521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人