JVM学习十:JVM之垃圾收集器及GC参数
接近两个月左右没有写博客,主要是因为小孩过来后,回家比较忙,现在小孩端午送回家了,开始继续之前的JVM学习之路,前面学习了GC的算法和种类,那么本章则是基于算法来产生实际的用途,即垃圾收集器。 一、堆的回顾 新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survivo
iOS 出现错误reason: image not found的解决方案
在制作framework时遇到真机运行时导致的reason: image not found允许崩溃的问题,下面是我的解决方案: 首先我们分析一下出现这种情况的原因,原因就是framework找不到镜像了,也就是在真机运行是没有找到对应的framework包,在网上找的一些办法将框架引用从Required 变为Optional ,根本就是治标不治本,等到运行到这个framework的代码是也会崩溃,我们需要做的是将这个framework拷贝到项目里面才行,这样才能从根本上解决问题,下面是我的解
cgroup.conf系统初始配置
# Slurm cgroup support configuration file
#
# See man slurm.conf and man cgroup.conf for further
# information on cgroup configuration parameters
#--
CgroupAutomount=yes
#CgroupReleaseAgentDir="/cgroup"
CgroupReleaseAgentDir=/tmp/slurm
TaskAffinity=
15Shell脚本—流程控制
流程控制语句 尽管可以通过使用Linux命令、管道符、重定向以及条件测试语句编写最基本的Shell脚本,但是这种脚本并不适用于生产环境。原因是它不能根据真实的工作需求来调整具体的执行命令,也不能根据某些条件实现自动循环执行。 例如,我们需要批量创建 1000 为用户,首先要判断这些用户是否已经存在;若不存在,则通过循环语句让脚本一次创建他们。 常用的有if、for、while、case这4种流程控制语句。 if 条件测试语句 1.1 单分支结构 if 条件测试操作
then 命
Java的代码质量优化的注意细节
Java的代码质量优化简单介绍
一:写在前面--->软件质量有代码质量和文档质量来共同保证的.开发人员更应该在写完程序的时候,来化时间来优化自己的代码,达到更佳的效果.
二:代码优化的具体介绍如下---->
1.1避免使用空块:
具体包括如下的几点;多余的分号(if条件的后面);没有任何作用的大括号;try-catch-finally语句中的finall
普通java程序包含的线程
一个普通的Java程序运行包含的线程
一:开门见山--->
Java语言内置多线程就不在介绍了,一个特别普通的java程序运行时有几个线程也是同时运行的。下面通过一个程序来演示一下main线程运行的同时
直接上演示程序
import java.lang.management.ManagementFactory;
import java.lan
静态初始化块里启动新线程的陷阱
静态初始化块里启动新线程的陷阱
一:问题的提出
我们知道静态块帮助我们完成一些类的初始化的工作,那么在静态块里面启动一个线程,让它来帮助我们来完成初始化的工作会发生什么哪?死锁还是输出了让我们感觉不是我们想要的结果呐?,不妨试试看,结果是什么吧.
二:具备的知识
多线程的基础知识, 多线程的创建,启动,join()方法和匿名内部类的使用等.例子比较简单的
Java自定义实现链栈
Java自定义实现链栈
一:写前的认识
栈这种数据结构相信大家都比较熟悉的,节点是先进后出,jdk中的给我们提供的实现的,使用的时候直接使用就可以了,但是我们不仅仅是停留在会使用,动手自己实现以下,可以帮助自己更好的理解。关于栈的一些基本的知识就不在介绍了.是一种被限制的线性表.栈顶的指针是这里实现各种操作的关键.以及如何构造栈这种数据结构的?删除和添加元素都是在栈顶进行
Java自定义实现链队列
Java自定义实现链队列
一:写在前面
数据结构中的队列应该是比较熟悉的了,就是先进先出,因为有序故得名队列,就如同排队嘛,在对尾插入新的节点,在对首删除节点.jdk集合框架也是提供也一个Queue的接口.这个接口代表一个队列.顺序队列:ArrayBlockingQueue,LinkedBlockingQueue.(上面两种是足色队列)还有一种是ConcurentLink
SpringBoot控制台启动日志简单分析
SpringBoot控制台启动日志简单分析
一:SpringBoot的介绍就不在说了,网上介绍学习教程的比较多的啦,为我们做了一许多默认的配置,实用起来非常的方便的.这里就说说使用启动类来启动SpringBoot的过程中控制台的日志分析吧.
SpringBoot的版本问题简单说一下吧,它的命名是主版本号.次版本号.增量版本号.里程碑版本号(M的开始后缀的).
话不多说,
SpringBoot基于易邮邮件服务器实现本地邮件收发
SpringBoot快速实现本地邮件收发一:环境准备 1:邮件服务器:易邮邮件服务器. 开发框架:SpringBoot(1.5.7,版本不限),Mysql,JPA(持久层),Thymeleaf(视图层),IDEA开发工具,FoxMail邮件客户端方便查看. ...
Java获取注解的字段属性值
最近看一些ORM框架的源码,自己记录一些笔记.类似于JPA,不用手写Sql,那个实体类要要@Table和@Column注解.(基于JDK1.8). 首先自己定义一个@Column注解.@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Column {...
Eclipse(IDEA)下查找MySQL数据库驱动名称
在使用Eclipse做数据库连接测试的时候,在编写配置文件的时候,如果忘记了那个数据库连接驱动怎么办(com.mysql.jdbc.Driver),我在Eclipse里面可不可以找到这个驱动呐?(无需百度)这里以Mysql数据库为例. 环境搭建:Eclipse,Mysql,数据库的驱动jar包.(如果找不到,就使用Maven工程自己下一个吧).搭建一个简单的Java web工程. ...
Linux下搭建Tomcat集群详细教程
背景:学习需要,搭建了Linux的Tomcat的的的集群验证会话共享。 环境搭建:CentOS7,Java环境搭建(Centos下),Tomcat的安装包.(apache-tomcat-7.0.47.tar.gz),Apache官网自己下载吧 使用的Linux的远程连接工具是SecureCRT. 首先将下载的tomcat的安装包上传至Linux,使用wget命令也是可以的. ...
Linux安装Redis详细教程
之前安装过也使用过Redis的,总结一下安装的过程吧.(其实和Nginx是一样的安装方法,C编写,编译安装,稍微麻烦一下,但是速度快.对比Tomcat(java))环境搭建:CentesOS 7, redis-3.0.0.tar.gz,SecureCRT.首先将下载的安装包上传Linux下,获取官网的Redis的对应版本的链接,使用wget命令都可以的.然后解压到指定的目录(这里没有指定)tar ...
Linux下搭建Tomcat集群结合Redis实现Session共享详细教程
之前搭建了Linux的Tomcat集群,放了测试项目,现在结合Redsi实现会话共享.环境搭建:CentOS7,Nginx,Tomcat集群,Redis,SecureSRT,RedisClient.首先查看本地CentOS的IP地址.ifconfig一 在Eclipse或IDEA下编写一个测试项目.这里我是在Eclipse下编写了一个测试项目.工程结构比较简单如下:index.jsp的内容如下:非...
SpringBoot基于Excel模板完成下载
之前项目中要完成基于Excel模板下载的实现功能(完成数据统计).现在总结整理一下.环境搭建:IDEA+Maven+SpringBoot+BootStrap+Thymeleaf+Mysql+Excel+MyBatis+Lombok+IDEA热部署项目的工程结构如下:首先编写Maven依赖如下:<modelVersion>4.0.0</modelVersion>
<g...
finally块与抛异常
复习一下finally块里有return和try抛异常的程序执行顺序问题.首先看一个测试例子:public class FinallyTryTest {
public static void main(String[] args) {
int a=testFinally();
System.out.println(a);
}
public s...
今日推荐
周排行