06 2020 档案

摘要:出处:http://www.zsythink.net/archives/2509 上一篇文章介绍了ansible的基本概念,以及相关的基础配置,我们已经知道,如果想要管理受管主机,则需要将受管主机添加到ansible的管理清单中,当安装ansible以后,会提供一个默认的管理清单,即/etc/ans 阅读全文
posted @ 2020-06-29 00:14 纵码万水千山 阅读(137) 评论(0) 推荐(0) 编辑
摘要:本篇主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题,没错就是使用synchronized. 一、如何解决线程安全问题? 一般来说,是如何解决线程安全问题的呢?基本上所有的并发模式在解决线程安全问题时,都采用“序列化访问临界资 阅读全文
posted @ 2020-06-28 23:44 纵码万水千山 阅读(125) 评论(0) 推荐(0) 编辑
摘要:我们知道多线程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。 一、线程基本概念 1 线程:进程中负责程序执行的执行单元(执行路径)线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2 进程:执行 阅读全文
posted @ 2020-06-20 00:26 纵码万水千山 阅读(128) 评论(0) 推荐(0) 编辑
摘要:基础概念 ansible是什么? 它是一个"配置管理工具",它是一个"自动化运维工具",如果你没有使用过任何配置管理工具,不要害怕,看完这篇文章,你自然会对ansible有所了解。 ansible能做什么? 正如其他配置管理工具一样,ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重 阅读全文
posted @ 2020-06-19 23:31 纵码万水千山 阅读(160) 评论(0) 推荐(0) 编辑
摘要:因为项目中会依赖许多jar包,免不得就会有冲突,那怎么解决呢? 使用 mvn dependency:tree 可以看到各个包的依赖关系 [INFO] | +- commons-cli:commons-cli:jar:1.4:compile [INFO] | +- net.sourceforge.cp 阅读全文
posted @ 2020-06-17 09:32 纵码万水千山 阅读(691) 评论(0) 推荐(0) 编辑
摘要:补充说明 语法 iptables(选项)(参数) 选项 -t, --table table 对指定的表 table 进行操作, table 必须是 raw, nat,filter,mangle 中的一个。如果不指定此选项,默认的是 filter 表。 # 通用匹配:源地址目标地址的匹配 -p:指定要 阅读全文
posted @ 2020-06-16 23:43 纵码万水千山 阅读(203) 评论(0) 推荐(0) 编辑
摘要:原因是DNS域名解析问题: 添加nameserver即可解决 echo nameserver 8.8.8.8 > /etc/resolv.conf 解释一下DNS服务 DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址。当用户 阅读全文
posted @ 2020-06-15 10:06 纵码万水千山 阅读(5422) 评论(2) 推荐(0) 编辑
摘要:1.安装brctl centos7.6安装使用 yum install bridge-utils ubuntu使用 apt-get install bridge-utils 什么是网桥 网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来 阅读全文
posted @ 2020-06-12 16:19 纵码万水千山 阅读(725) 评论(0) 推荐(0) 编辑
摘要:一、介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l] pi 阅读全文
posted @ 2020-06-11 23:34 纵码万水千山 阅读(267) 评论(0) 推荐(0) 编辑
摘要:jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情 阅读全文
posted @ 2020-06-11 23:11 纵码万水千山 阅读(470) 评论(0) 推荐(0) 编辑
摘要:一、类加载的时机 类的生命周期 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括以下 7 个阶段: 加载 验证 准备 解析 初始化 使用 卸载 验证、准备、解析 3 个阶段统称为连接。 加载、验证、准备、初始化和卸载这 5 个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班 阅读全文
posted @ 2020-06-10 23:48 纵码万水千山 阅读(185) 评论(0) 推荐(0) 编辑
摘要:问题描述:Caused by: javax.management.InstanceAlreadyExistsException: com.alibaba.druid.pool:name=primaryDataSource,type=DruidDataSource 原因很简单:同一个domain里面的 阅读全文
posted @ 2020-06-10 16:17 纵码万水千山 阅读(273) 评论(0) 推荐(0) 编辑
摘要:Timeout waiting for connection from pool 异常 httpClient大家用到地方会很多,先简单描述一下几个关键配置的意义 httpClient版本为4.5.1 maxTotal:整个连接池的最大支持连接数 defaultMaxPerRoute:当前主机到目的主 阅读全文
posted @ 2020-06-10 00:17 纵码万水千山 阅读(3982) 评论(0) 推荐(0) 编辑
摘要:出处知乎:https://zhuanlan.zhihu.com/p/58038188 Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现 阅读全文
posted @ 2020-06-09 23:27 纵码万水千山 阅读(205) 评论(0) 推荐(0) 编辑
摘要:使用Spring Boot时,默认情况下,配置DataSource非常容易。Spring Boot会自动为我们配置好一个DataSource。 如果在application.yml中指定了spring.datasource的相关配置,Spring Boot就会使用该配置创建一个DataSource。 阅读全文
posted @ 2020-06-09 23:17 纵码万水千山 阅读(1260) 评论(0) 推荐(0) 编辑
摘要:类文件结构 JVM 的“无关性” 谈论 JVM 的无关性,主要有以下两个: 平台无关性:任何操作系统都能运行 Java 代码 语言无关性: JVM 能运行除 Java 以外的其他代码 Java 源代码首先需要使用 Javac 编译器编译成 .class 文件,然后由 JVM 执行 .class 文件 阅读全文
posted @ 2020-06-05 23:38 纵码万水千山 阅读(132) 评论(0) 推荐(0) 编辑
摘要:对象的内存布局 在 HotSpot 虚拟机中,对象的内存布局分为以下 3 块区域: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding) 对象头 对象头记录了对象在运行过程中所需要使用的一些数据: 哈希码 GC 分代年龄 锁状态标志 线程持有的锁 偏向线程 ID 阅读全文
posted @ 2020-06-05 23:23 纵码万水千山 阅读(144) 评论(0) 推荐(0) 编辑
摘要:JVM 内存结构 Java 虚拟机的内存空间分为 5 个部分: 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元 阅读全文
posted @ 2020-06-03 23:08 纵码万水千山 阅读(158) 评论(0) 推荐(0) 编辑
摘要:在高性能硬件上部署程序,目前主要有两种方式: 通过 64 位 JDK 来使用大内存; 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源。 使用 64 位 JDK 管理大内存 堆内存变大后,虽然垃圾收集的频率减少了,但每次垃圾回收的时间变长。 如果堆内存为14 G,那么每次 Full GC 将长达 阅读全文
posted @ 2020-06-03 23:00 纵码万水千山 阅读(154) 评论(0) 推荐(0) 编辑
摘要:内存分配与回收策略 对象的内存分配,就是在堆上分配(也可能经过 JIT 编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的 Eden 区上,少数情况下可能直接分配在老年代,分配规则不固定,取决于当前使用的垃圾收集器组合以及相关的参数配置。 以下列举几条最普遍的内存分配规则,供大家学习。 阅读全文
posted @ 2020-06-03 22:52 纵码万水千山 阅读(146) 评论(0) 推荐(0) 编辑
摘要:HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。 新生代垃圾收集器 Serial 垃圾收集器(单线程) 只开启一条 GC 线程进行垃圾回收,并且在垃圾收集过程中停止一切用户 阅读全文
posted @ 2020-06-01 23:49 纵码万水千山 阅读(136) 评论(0) 推荐(0) 编辑
摘要:Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示: 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old)。新生代 ( Young ) 又被划分为三个区域:Eden、S0、S1。 这样划分的目的是为了使 JVM 能 阅读全文
posted @ 2020-06-01 23:39 纵码万水千山 阅读(430) 评论(0) 推荐(0) 编辑
摘要:垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。 而对于 Java 堆和方法区,我们只有在 阅读全文
posted @ 2020-06-01 23:24 纵码万水千山 阅读(151) 评论(0) 推荐(0) 编辑
摘要:出处:https://cloud.tencent.com/developer/article/1402997 基于redis实现tomcat的session会话保持 在实际生产中,我们经常部署应用服务,在部署的过程中,要让用户无感知你的应用升级,这种方式可以通过负载均衡方式来实现灰度部署,如前些文章 阅读全文
posted @ 2020-06-01 00:56 纵码万水千山 阅读(491) 评论(0) 推荐(0) 编辑
摘要:创建服务端 1.file–>new–>project 2.点击next后输入服务端名,点击finish,生成目录如下 3.在 HelloWorld.Java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定, 点击ok会自动给我们生成H 阅读全文
posted @ 2020-06-01 00:52 纵码万水千山 阅读(1401) 评论(0) 推荐(0) 编辑
摘要:一、EventBus的使用案例 EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 Observer模式是比较常用的设计模式之一,虽然有 阅读全文
posted @ 2020-06-01 00:13 纵码万水千山 阅读(1566) 评论(0) 推荐(0) 编辑