随笔 - 221  文章 - 0  评论 - 57  阅读 - 162万 
03 2019 档案
JVM的GC概述
摘要:名词解释 GC:Gabage Collection,指JVM堆内存区域的垃圾回收 Minor GC:年轻代垃圾回收,所有的Majar GC都会触发进程暂停,只是这个实际很短 Major GC:也叫Full GC,年老代垃圾回收 年轻代和年老代的GC策略是不一样的,年轻代一般采用的是复制算法。 Min 阅读全文
posted @ 2019-03-31 01:14 玄同太子 阅读(739) 评论(0) 推荐(0) 编辑
JVM工具jstat使用说明
摘要:输入:jstat -help得到以下帮助信息 option:操作(见下面的option说明) vmid:进程pid lines: interval:输出时间间隔,单位ms和s count:输出条目行数 输入:jstat -option得到以下选项 命令实际使用 统计列含义 S0C:第一个幸存者区(S 阅读全文
posted @ 2019-03-30 23:52 玄同太子 阅读(11303) 评论(0) 推荐(0) 编辑
查看JVM内存使用状况
摘要:1、jps:查看本地正在运行的java进程和进程ID(pid) 2、jinfo pid,查看指定pid的所有JVM信息 1)jinfo -flags pid 查询虚拟机运行参数信息。 2)jinfo -flag name pid,查询具体参数信息,如jinfo -flag UseSerialGC 4 阅读全文
posted @ 2019-03-30 22:17 玄同太子 阅读(105828) 评论(2) 推荐(5) 编辑
JVM常用配置参数说明
摘要:堆设置 -Xms256M:初始堆大小256M,默认为物理内存的1/64 -Xmx1024M:最大堆大小1024M,默认为物理内存的1/4,等于与-XX:MaxHeapSize=64M -Xmn64M:年轻代大小为64M(JDK1.4后支持),相当于同时设置NewSize和MaxNewSize为64M 阅读全文
posted @ 2019-03-30 19:34 玄同太子 阅读(4095) 评论(0) 推荐(0) 编辑
CentOS下运行Java文件Error: Could not find or load main class
摘要:今天,因为测试拷贝一个JvmTest.java文件到CentOS虚机上运行,发现文件编译没有问题,但运行时却报错,如下图: Java代码如下: 解决方式:去掉java代码第一行package信息。 重新编辑后执行,代码执行成功 阅读全文
posted @ 2019-03-30 17:56 玄同太子 阅读(12761) 评论(0) 推荐(0) 编辑
ArrayList与LinkedList
摘要:1、ArrayList 1)继承结构 2)ArrayList是数组存储结果,初始容量为0,添加第一个元素后容器为10,后面每次超过容量时,容量递增50%,每次扩容都需要产生新的数组,再把老的数据复制过去。 3)优缺点 优点:存取速度快 缺点:事先必须知道数组的长度、插入删除元素很慢、空间通常是有限制 阅读全文
posted @ 2019-03-27 23:02 玄同太子 阅读(310) 评论(0) 推荐(0) 编辑
Java获取本地IP地址和主机名
摘要:方式一:通过java.net.InetAddress类获取 输出: 这种方式获取到的主机名没啥问题,这种方式获取的主机名没啥问题,但获取到的IP地址却有待考量,如果一台机器有多个网卡,他获取的IP是谁的呢?事实上,上面输出的IP是我虚拟机IP地址,既不是我有线网卡的地址,也不是我无线网卡的地址。 方 阅读全文
posted @ 2019-03-27 17:39 玄同太子 阅读(21145) 评论(0) 推荐(2) 编辑
Mybatis中#与$区别
摘要:#{}:使用 #{} 格式的语法会导致 MyBatis 创建 PreparedStatement 参数占位符并安全地设置参数(就像使用 ? 一样) ${}:使用 ${} 会在sql语句中插入一个不转义的语句,简单的进行文本替换。 #{} 能够有效的防止SQL注入的风险,${}也有重要的使用场景,如o 阅读全文
posted @ 2019-03-27 16:25 玄同太子 阅读(166) 评论(0) 推荐(0) 编辑
CST时区,MYSQL与JAVA-WEB服务器时间相差13个小时的问题
摘要:最近倒腾了一台阿里云主机,打算在上面装点自己的应用。使用docker安装了安装mysql后,发现数据库的存储的时间与java-web应用的时间差8个小时,初步怀疑是docker容器时区的问题。经过一系列研究,总算把docker容器的时区给调整过来。满怀欣喜的以为问题得到了解决,再次运行应用,我发现时 阅读全文
posted @ 2019-03-27 15:53 玄同太子 阅读(8135) 评论(0) 推荐(0) 编辑
解决Docker容器时区不一致的问题
摘要:查看linux系统时区和docker容器时区 2者的时间差了8个小时 解决方案 1、利用Dockerfile创建镜像时。在Dockerfile中加入 2、容器创建时。加入时区挂载选项:-v /etc/localtime:/etc/localtime。实例: 3、容器已启动时。 以上均亲测试,良心保证 阅读全文
posted @ 2019-03-26 23:48 玄同太子 阅读(10289) 评论(2) 推荐(4) 编辑
Docker安装mysql
摘要:第一种方式:从镜像市场安装。 1、查询镜像 2、下载镜像(实测过程中,下载镜像时经常卡住,多试几次就好了) 通过docker images命令查看本地镜像 3、创建并运行容器 参数说明: -p 3306:3306 将主机3306端口映射到容器3306端口 -e MYSQL_ROOT_PASSWORD 阅读全文
posted @ 2019-03-25 17:06 玄同太子 阅读(8932) 评论(0) 推荐(0) 编辑
解决SpringMVC+Thymeleaf中文乱码
摘要:乱码效果截图 解决办法:在org.thymeleaf.templateresolver.ServletContextTemplateResolver和org.thymeleaf.spring5.view.ThymeleafViewResolver中都增加配置,注意:这2个bean都要配置 解决完后的 阅读全文
posted @ 2019-03-25 16:46 玄同太子 阅读(642) 评论(0) 推荐(0) 编辑
Docker创建Tomcat镜像
摘要:1、创建Dockerfile文件 Dockerfile内容 jdk-8u191-linux-x64.tar.gz和apache-tomcat-9.0.14.tar.gz必须在Dockerfile文件的同一个目录下。 2、创建镜像(最后的一个点不要丢掉) 3、创建并运行容器 本人亲验,良心保证 阅读全文
posted @ 2019-03-25 15:00 玄同太子 阅读(1368) 评论(0) 推荐(0) 编辑
Docker容器中找不到vim命令
摘要:docker容器中,有的并未安装vi和vim,输入命令vim,会提示vim: command not found(如下图)。此时我们就要安装vi命令 执行命令:apt-get update 执行命令:apt-get install vim -y 说明: 1、本来只想装个vi,奈何vi死活装不上,但v 阅读全文
posted @ 2019-03-24 22:00 玄同太子 阅读(2440) 评论(0) 推荐(1) 编辑
CentOS安装Docker
摘要:1、安装需要的包 2、添加docker仓库 3、查看可安装的docker版本 4、安装docker 5、启动和关闭docker 6、查看docker版本 7、设置开机启动和取消开机启动 8、设置国内镜像 修改etc/docker目录的daemon.json文件 添加如下信息: 加载配置后重启: 官方 阅读全文
posted @ 2019-03-19 21:23 玄同太子 阅读(699) 评论(0) 推荐(0) 编辑
quartz的job怎么获取Spring上下文
摘要:第一步、在org.springframework.scheduling.quartz.SchedulerFactoryBean对象中注入applicationContextSchedulerContextKey 注入applicationContextSchedulerContextKey对象后,S 阅读全文
posted @ 2019-03-17 22:59 玄同太子 阅读(979) 评论(0) 推荐(0) 编辑
CopyOnWriteArrayList&Collections.synchronizedList()
摘要:1、ArrayList ArrayList是非线性安全,此类的 iterator() 和 listIterator() 方法返回的迭代器是快速失败的:在创建迭代器之后,除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 阅读全文
posted @ 2019-03-17 21:31 玄同太子 阅读(288) 评论(0) 推荐(0) 编辑
Java线程池ThreadPoolExecutor&Executors
摘要:一、先看看传统的开启线程。 new Thread(new Runnable() { @Override public void run() { } }).start(); 缺点: 1、每次new Thread新建对象性能差。 2、线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统 阅读全文
posted @ 2019-03-17 19:53 玄同太子 阅读(477) 评论(0) 推荐(0) 编辑
mysql查看和修改密码策略
摘要:8.X版本: 57版本: 密码策略的所有参数: validate_password.policy(校验规则),取值范围[0,1,2],默认值1。0(LOW):只校验长度;1(MEDIUM):校验长度、大小写和特殊字符;2(STRONG):校验长度、大小写、特殊字符和dictionary_file 更 阅读全文
posted @ 2019-03-14 21:53 玄同太子 阅读(27620) 评论(4) 推荐(3) 编辑
CentOS下安装MYSQL8.X并设置忽略大小写
摘要:安装 在官网上下载:mysql80-community-release-el7-2.noarch.rpm。安装方式与5.7基本相同。详细安装过程见:CentOS下安装mysql5.7和mysql8.x。 设置忽略大小写 mysql安装完在启动前修改/etc/my.cnf文件,添加配置:lower_c 阅读全文
posted @ 2019-03-14 21:00 玄同太子 阅读(2828) 评论(0) 推荐(0) 编辑
查看mysql版本
摘要:方法一:show variables like 'version'; 方法二:select version(); 阅读全文
posted @ 2019-03-14 20:41 玄同太子 阅读(229) 评论(0) 推荐(0) 编辑
Spring整合Hystrix
摘要:1、添加maven依赖 2、配置切面 3、编写controller类,并添加注解 4、在webapp目录下添加fallback.html、success.html文件 5、访问http://127.0.0.1:8080/spring-hystrix-demo/test?time=0,浏览器正常进入s 阅读全文
posted @ 2019-03-11 23:27 玄同太子 阅读(1017) 评论(0) 推荐(0) 编辑
AtomicInteger类的使用
摘要:先看一段代码 程序执行结果 Num类中的increment方法并不是线程安全的,所以目标结果并不是期望的1000000。为了保证计数的准确性,我们需要在increment方法上加上关键字synchronized 程序执行结果 目标结果与期望相同,但这是否是最好的方式呢?答案是否,我们可以使用java 阅读全文
posted @ 2019-03-11 16:37 玄同太子 阅读(273) 评论(0) 推荐(0) 编辑
JAVA设计模式-单例模式
摘要:方式一:适合单线程模式(不推荐) 方式二:没有延迟加载(不推荐) 方式三:不适合高并发(不推荐) 方式四:双重检测(推荐) 方式五:推荐 学了Java多年,一直都是用方式一、方式二和方式三,今天才发现方式四,百度后才知道方式五。 阅读全文
posted @ 2019-03-10 21:08 玄同太子 阅读(128) 评论(0) 推荐(0) 编辑
Redis的JAVA连接
摘要:ShardedJedis用法 阅读全文
posted @ 2019-03-09 19:44 玄同太子 阅读(202) 评论(0) 推荐(0) 编辑
Redis分布式锁实例
摘要:maven依赖 代码实现 有兴趣的同学可以参考:https://www.cnblogs.com/linjiqin/p/8003838.html,这个讲解比较清楚。 阅读全文
posted @ 2019-03-09 19:29 玄同太子 阅读(1424) 评论(0) 推荐(0) 编辑
关于JAVA的一些知识点
摘要:1、java.lang.Runtime.getRuntime().availableProcessors() Returns the number of processors available to the Java virtual machine;返回JVM上可用的CPU个数 阅读全文
posted @ 2019-03-06 21:22 玄同太子 阅读(213) 评论(0) 推荐(0) 编辑
使用javassist进行动态编程
摘要:今天在研究dubbo时,发现一个新的知识点,可以使用javassist包进行动态编程,hibernate也使用该包进行编程。晚上百度了很多资料,将它的特性以代码的形式展现出来。 执行上面代码输出结果为: 说明: $0,$1,$2:分别代表this,第一个参数,第二个参数 $r:方法返回值的类型。 $ 阅读全文
posted @ 2019-03-06 00:52 玄同太子 阅读(1160) 评论(0) 推荐(0) 编辑
JAVA的SPI简单应用
摘要:最近在研究dubbo时,发现了JAVA的SPI特性。SPI的全名为Service Provider Interface,是JDK内置的一种服务发现机制。 具体实现: 1、定义一个接口 2、添加几种实现 3、在META-INF/services/com.zhi.demo.IShape文件添加信息 4、 阅读全文
posted @ 2019-03-03 21:49 玄同太子 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示