- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 JVM运行时数据区结构
我们编写好的java类是一个.java后缀的文本文件,编译后生成.class后缀的字节码文件,然后再通过ClassLoader类加载器加载到java虚拟机内部后,由执行引擎执行我们的代码。JVM需要有一个内存空间存放所有的类或者对象。那么JVM在程序运行时是如何来分配虚拟机内存,或者说是如何在内存空间中划分空间组织管理我们的数据的呢?这就涉及到运行时数据区的结构问题,首先看下面这张图。JVM运行时数据区不同的jvm对内存的划分和管理机制存在差异,我们这里介绍的是HotSpot VM介绍一下这
2021-07-03 11:57:21
154
原创 CentOS设置静态IP地址
1、修改网卡配置信息vim /etc/sysconfig/network-scripts/ifcfg-ens33ONBOOT配置为"yes",启用网卡。 BOOTPROTO默认协议是DHCP,自动下发ip地址,这里改成static,静态分配ip。 IPADDR配置IP地址。 NETMASK配置子网掩码 GATEWAY配置网关地址 DNS1配置域名解析服务地址(虚拟机直接同网关地址相同即可)2、重新启动网络服务service network restart...
2020-09-01 15:56:38
257
原创 ElasticSearch5.0+安装head插件
es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)1、https://nodejs.org/en/download/node下载地址下载完成后直接安装。2、进入cmd,通过node -v命令查看版本,确定安装成功3、通过npm install -g grunt-cli安装grunt4、执行grunt -versio...
2020-08-13 16:12:17
196
原创 Java 线程池
什么是线程池?为什么要使用线程池?线程池是一种多线程的处理方式,将任务提交给线程池中的线程去处理,任务的处理由线程池管理。如果在开发过程中给每个任务都去单独的创建一个独立的线程,那么系统的资源很快就会被耗尽。创建线程和销毁线程的系统开销较大,需要的时间开销可能比业务处理的时间还要长,所以要减少创建线程和销毁线程的次数,利用线程池中的线程来分别执行不同的任务。线程池有什么作用?提高效率,...
2019-11-19 14:29:34
738
原创 生命周期——InitializingBean, DisposableBean
除了设置@Scope注解中的initMethod和destroyMethod属性来定义bean的初始化和销毁方法外。还可以通过类实现InitializingBean和DisposableBean接口来重写它们的destroy方法和afterPropertiesSet方法,指定组建的初始化和销毁方法。方法的执行顺序与在@Scope中使用的一致。单实例运行结果:多实例测试代码:...
2018-12-27 20:25:16
189
原创 生命周期——@Bean
bean的生命周期:bean的创建——初始化——销毁的过程容器管理bean的生命周期:我们可以自定义初始化和销毁方法。容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。构造:(对象创建) 单实例:容器启动时就会创建bean 多实例:每次调用时会创建bean1、指定初始化和销毁方法<bean id=" " ...
2018-12-27 20:00:07
130
原创 组件注册——FeactoryBean注入组件
FactoryBean是一个接口(工厂bean),里面有三个方法。容器会调用getObject()方法,将其返回的对象放在容器中。我们要自己创建一个类,实现FactoryBean。在UserFactoryBean中实现了isSingleton()方法,让它返回true,生成单实例的对象。实例代码如下:测试类:程序的输出结果:从以上的程序运结果可以发现,当通过getB...
2018-12-27 19:07:15
311
原创 组件注册——@Import注解
注入Bean可以通过好几种注解方式:@Controller、@Service、@Repository一般用于自己写的类。@Bean注解一般用于别人写好的代码,我们需要注入时,可以通过该注解注入。还有一种计较简便的方法,用@Import注解快速导入组件。看一下@Import注解的源码,value属性是一个Class类型的数组。所以,我们需要注入哪个bean,只需要将其类名.class写入...
2018-12-04 16:13:47
281
原创 组件注册——@Conditional注解
@Conditional 注解按照条件给容器注入bean。先来看看Conditional的源码,里面的属性是一个实现Condition接口的类的数组。也就是说,我们需要定义自己的Condition,在Condition中编写自己的条件。再看一下Condition接口的源码,里面只有一个返回类型为boolean的matches()抽象方法,我们只需要实现这个方法就可以。当matche...
2018-12-04 14:28:09
197
原创 组件注册——@Scope注解
spring中,注入的bean默认是单例模式,即scope="singleton"。另外scope还有prototype、request、session、global session作用域。常用的也就是singleton和prototype。1、singleton 作用域当一个bean的 作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并...
2018-12-04 13:49:54
777
原创 组件注册——@ComponentScan注解
@ComponentScan注解用于自动扫描指定包下的所有组件,也可以通过添加属性值来指定扫描规则。1、@ComponentScan(basePackages="包名"),最简单的使用方法,扫描包名下的所有组件。项目结构 MainConfig类内容,该类是一个配置类,相当于一个xml配置文件。@ComponentScan(basePackages = "com.wyx.cont...
2018-11-29 20:45:50
6424
1
原创 Super VLAN技术原理和配置
Super VLAN技术原理和配置Super VLAN产生的背景: 在大型局域网组网中,常采用接入层和核心层二层结构的组网方式,所有的网关都设在核心层设备上。由于每个VLAN都需要一个接口实现路由互通,这样问题就来了,如果因为特殊的需要,网络中划分了成百上千个VLAN,此时核心层设备就会出现VLAN接口数量不足的情况。那么,如果拥有一种技术,可以对VLAN进行聚合,就可以大...
2017-10-31 15:04:44
25034
7
docker安装greenplum集群.docx
2020-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人