Java应用如何调优?
一般性原则依据数据而不是凭空猜测这是性能优化的第一原则,当我们怀疑性能有问题的时候,应该通过测试、日志、profile来分析出哪里有问题,有的放矢,而不是凭感觉、撞运气。一个系统有了性能问题,瓶颈有可能是CPU,有可能是内存,有可能是IO(...
系统安全需要考虑哪些方面的东东?
网络安全传输加密为防止网络传输过程中敏感信息泄露,我们要对传输的内容进行加密,比如web访问,尽可能使用HTTPS的形式。网络隔离对于防止不明入侵,最直接的手段就是网络隔离。主要体现在如下几个方面:不公开服务的机器,不分配外网 IP办公网络...
数据库高可用架构
数据存储高可用的方案本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用。常见的高可用架构有主备、主从、主主、集群、分区等,接下来我们聊聊每种架构的优缺点。主备架构1、基本架构拓扑图如下整体架构简单,几乎所有的数据库都提供了...
常见的垃圾回收算法
常见的垃圾回收算法如下:1、引用计数算法给对象添加一个引用计数器,每当一个地方引用它时,数据器加1;当引用失效时,计数器减1;计数器为0的即可被回收。优点:实现简单,判断效率高缺点:很难解决对象之间的相互循环引用(objA.instance...
JVM堆体系结构及其内存调优
堆体系结构一个JVM实例只存在一个堆内存,堆内存的大小是可调节的。类加载器读取类文件后,需要把类、方法、常量、变量放在堆内存中,保存所有引用类型的真实信息,以方便执行器指向。Java7之前,堆内存在逻辑上分为:年轻代(新生区)、老年代(养老...
Java虚拟机的体系结构
Java虚拟机实例负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例就诞生了。当程序结束,这个虚拟机实例也就消亡了。下图展示了JVM的体系结构:1、类装载器子系统 类装载器子系统负责查找并装载类型信息。其实Java虚拟机有...
Java的内存模型
什么是Java内存模型?Java程序是需要运行在Java虚拟机上面的,Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访...
在做技术选型时你该考虑哪些因素?
在日常开发中,我们经常要面对各种相似而又繁多的技术框架组件选择,在专业上我们叫做技术选型。关于技术选型的选型原则,我个人的建议有如下几点:1、最好使用开源产品。如果在使用过程中遇到一些bug,你可以通过源码阅读和分析,快速的进行修复。2、最...
Mysql的四种隔离级别你真的理解了吗?
什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务...
MySQL有哪些常见的数据库引擎?
要回答这个问题,得先搞清楚什么是数据库引擎?通常我们所说的数据库引擎指的是存储引擎,是数据库软件底层的一个东西,数据库常见的增删改查等等操作全都靠他来执行。而不同的引擎所实现的方式和原理不同,那么相应的其存储机制、索引的方法等功能也会不同。...