标签:java

Java反射生成对象

想要了解反射生成class和创建java对象,首先我们要了解什么是反射? 一、什么是反射? Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。 二、反射生成Class的...

Java垃圾回收期Cms和G1梳理

目录 1 CMS收集器 安全点(Safepoint) 安全区域 2 G1收集器 卡表(Card Table) 在开始介绍CMS和G1前,我们可以剧透几点: 根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较...

Centos7时间和java获取时间不一致

问题描述 遇到一个问题,web显示的时间比服务器时间快12小时。Tomcat和MySQL安装在同一台服务器,系统是centos7,且服务器时间和MySQL时间一致,均是当前北京时间。 解决思路 1、在程序中使用java的函数设定时区。 2、在启动java程序时加参数 Duser.timezone=GMT+8 3、修改/...

java触发gc的条件和时机

1.什么时候触发GC        (1)程序调用System.gc时可以触发,也不是立即触发,只是发了个通知要触发,时机由jvm自己把握        (2)系统自身来决定GC触发的时机(根据Eden区和From Space区的...

阿里云Ubuntu16.04安装Java8_redis

一、java8安装 1 Java 8 下载地址 链接:https://pan.baidu.com/s/1NN4XBL5g1Xn7EwzM4YET0g 提取码:m4mq 2 以root用户登录将下载的jdk 8u92 linux x64.tar.gz文件放到 /data/soft/目录下,使用如下命令解压 tar zxv...

mybatis,mysql的时区问题

1.公司运营装mysql的时候的时区不是固定的,随机的,所以我们要想办法解决这个问题,应该运营的权限控制的很严,不能要他们更改; 首先解决从数据库读取到java,指定我们所需要的时区,只需要在配置文件的mysql链接的时候指定自己所需的文 datasource.jdbcUrl=jdbc:mysql://xxx.xx.x...

IO多路复用机制详解

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: 一. 同步阻塞IO(Blocking IO):即传统的IO模型。 二. 同步非阻塞IO(Non blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非J...

java解决Hash碰撞冲突方法总结

1.什么是hash碰撞 对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰撞冲突。如下将介绍如何处理冲突,当然其前提是一致性hash。 为什么hashcode会相同? hashCode是所有java...

如何定位java进程中使用最耗内存的进程

1.清除进程和线程的关系 2.知道linux查看进程对应线程的命令 查看进程命令 ps ef grep java 查看进程对应线程命令 top Hp <pid> 找到最大线程的pid号 3.打印堆栈信息 jstack <pid> jstack 里面存的是16进制的数字。所以需要把十进制转换为16...

终极分库分表方案

一、数据库瓶颈 1、IO瓶颈 2、CPU瓶颈 二、分库分表 三、分库分表工具 四、分库分表步骤 五、分库分表问题 六、分库分表总结 七、分库分表示例 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。 在业务Service来看就是,可用数据...

Java虚拟机(JVM)你只要看这一篇就够了!垃圾回收器(2)

2.5 垃圾回收器 收集算法是内存回收的理论,而垃圾回收器是内存回收的实践。 说明:如果两个收集器之间存在连线说明他们之间可以搭配使用。 2.5.1 Serial 收集器 这是一个单线程收集器。意味着它只会使用一个 CPU 或一条收集线程去完成收集工作,并且在进行垃圾回收时必须暂停其它所有的工作线程直到收集结束。 2....

Java虚拟机(JVM)你只要看这一篇就够了!(1)

1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1.1.1 程序计数器 内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理...