- 博客(31)
- 收藏
- 关注
原创 6、HotSpot之垃圾收集器
在HotSpot虚拟机中,有7种作用于不同分代的收集器,如下图:其中两个收集器之间存在的连线,即表示它们可以搭配使用。收集器所处区域,表示它属于新生代或者老年代收集器。Serial收集器这是最基本的收集器,是一个单线程收集器,单线程不是指它只会使用一个CPU或者一条收集线程去完成工作,而是它垃圾收集时,必须暂停所有工作线程,直到收集结束。如下图,展示的是Serial/Serial Old收集器的运行
2017-05-14 16:33:45 397
原创 5、HotSpot的算法实现
前面了解关于对象的生死判定和垃圾收集算法,而在HotSpot中是怎么实现的呢?枚举根结点根据可达性分析算法,GC的时候从GC Roots节点开始找引用链的,而做为GC Roots的节点主要是在全局性引用与执行上下文中,如果逐个检查的话,必然是需要耗费很多时间的。而执行GC的时候,所有线程是必然要停顿的。因为在执行时,如果对象的引用关系还在不断变化,就无法准确的进行GC了。不过,主流的虚拟机现在都是采
2017-05-13 10:06:33 428
原创 4、垃圾收集之垃圾收集算法
导读垃圾收集器回收内存是根据定义的条件来收集的,有了条件就需要算法来实现这些条件了。垃圾收集算法垃圾收集主要的算法有标记-清楚算法、复制算法、标记-整理算法、分代收集算法这四种。1、标记-清除算法从名字就可以看出这个算法比较简单,首先标记出所有要回收的对象,在标记完成后统一回收被标记的对象。它有两个不足的地方: - 效率不高,标记和清除两个过程的效率都不高; - 会产生大量不连续的内存碎片,这会
2017-05-08 10:46:35 242
原创 3、垃圾收集之回收的对象
导读关于垃圾收集需要做的是3件事: - 哪些内存需要回收? - 什么时候回收? - 如何回收?我们已经了解到,程序计数器、虚拟机栈、本地方法栈(忘记的话,请重新看前两篇内容)这3个区域是随着线程生灭的;这几个区域的内存分配和回收是可以确定的,在方法结束或者线程结束时,内存就跟着被回收了。而JAVA堆和方法区不一样,它们只有在程序运行时才会动态的创建对象,动态的对内存进行分配和回收,而垃圾收集器
2017-05-07 10:34:56 252
原创 1、Java虚拟机之内存区域
为什么要了解JAVA内存管理?我们知道,用JAVA进行编程,最大的优势在于内存管理。我们可以完全忽略内存管理的细节,专注于逻辑业务上。但是,并不代表它就不会出现内存溢出或泄露的问题。而且,因为JAVA有自动管理内存的机制而对这一块不了解,显然是有点low的。所以,了解一下JAVA的内存管理,既有助于提高逼格,也能让我们在进行开发的时候,可以针对内存溢出或泄露的问题进行一些优化。
2017-05-06 09:58:07 330
原创 查看、修改mysql中数据库的编码
查看数据库编码查看mysql数据库编码如果是要查看整个数据库的编码的话,直接用status命令即可status;显示如下:查看自建库的编码进入对应的库,如testuse test;输入如下命令查看show variables like 'char%'结果如下: 修改数据库编码进入对应数据库后,输入以下命令//study为数据库名alter database study character
2017-09-08 16:05:00 428
原创 计算机网络体系结构
在计算机网络中要做到有条不紊的交换数据,得遵守一些事先约定好的规则。这些规则明确规定了交换的数据格式以及相关同步问题这些规则被称为网络协议。
2017-08-03 17:00:43 514
原创 什么是网络延迟
如果你玩过竞技类游戏的话,对延迟这个概念肯定不陌生,一般竞技类游戏对网络要求比较高,如果延迟太厉害的话基本不能玩。我们认为延迟就是网络很卡了,网速慢。那么,延迟具体是什么含义呢?延迟都有哪几种情况,哪种情况影响比较大呢?
2017-05-13 10:29:47 4574 1
原创 CXF+Spring搭建Restful接口服务
之前项目中用CXF+Spring可以搭建WebService服务,后面发现cxf可以支持Restful规范的接口。于是,在接下去的练手项目中,打算用cxf+spring来搭建一个Restful接口服务。
2017-05-13 10:25:59 916
原创 Java中权限控制区分
private、public、protected 这三者大家都不会感到陌生。访问权限的修饰词,给类中的每一个成员定义一个使用范围,但是在使用的时候,可能有人不会太在意他们的区分,在某些情况下,不进行区分也许都是可行的,但是却不一定是最好。可能,一时也不会暴露出什么问题,但是,当项目变得庞大而复杂的时候,这样做就有可能留下了隐患或者缺陷。这虽然是一个细节,但是细节往往就是决定成败的因素。
2017-05-13 10:24:10 281
原创 tomcat修改访问时的应用名称
一般情况下,如果把项目放到tomcat中,访问的时候,路径是必须加上项目名,但是有时候我们想用别的项目名的话,就需要修改了。
2017-05-13 10:14:34 2204
原创 SpringMVC+MyBatis+MySql环境搭建
第一次搭建springmvc+mybatis框架踩了不少坑,比如缺少jar包,配置参数出错,路径问题等等。通过不断的搜索和比对别人的搭建过程,还是让我搭建出来了。于是,打算总结一下我的搭建过程,并附上所需的jar包。希望能帮到有打算自己搭建SpringMVC框架的人。搭建框架的大致步骤是: - 导入相关jar包; - 添加并配置springmvc、mybatis文件; - 在web.xml中配
2017-05-09 19:51:59 785
原创 在linux下安装jdk
在官网上下载了最新的jdk1.8.0_111.tar.gz。可以用CRT(或者其他ssh工具)的FTP直接拷进去了debian中。然后移动到了usr/jdk下面,并解压mv jdk1.8.0_111 ../usr/jdktar -zxvf jdk1.8.0_111然后通过命令vi ~/.bashrc进入bashrc中添加环境变量 - 首先,移动光标到最后一行,并按a,即可输入 - 输入如下环境
2017-05-09 19:49:43 352
原创 关于hexo搭建博客后的一些基础配置
hexo博客搭建完成后,也clone下别人做好的主题使用,接着就会想修修补补,把想要的功能加上去,把不合自己口味的地方改改。在不断尝试下,也渐渐摸索出了一些门路。记录下来供参考修改主题找到想要的主题后,下载到目录的themes下 并修改全局config.yml中的theme; 如这边我下载的是jacman主题git clone https://github.com/wuchong/jacman.
2017-05-09 19:46:58 1563 1
原创 3、类和接口
1、使类和成员可访问能力最小化如果一个包或者接口能被做成包级私有的,那它就应该做成包级私有的。如果一个包级私有的顶层类或者接口只是在某一个类的内部用到,应该考虑是否成为后者的一个私有嵌套类或者接口。总之,尽可能的降低可访问性,以确保安全性。私有的(private):只有在声明该成员的顶层类内部才可以访问这个成员。包级私有的(package-private):声明该成员的包内部的任何类都可以访问这
2017-05-08 22:09:25 275
原创 2、对于所有对象都通用的方法
Object的设计主要是为了扩展。它的非final方法(equals、hashCode、toString、clone、finalize)都有明确的通用约定(general contract)。任何一个类覆盖这些方法都有责任遵守这些约定。覆盖equals时遵守通用约定覆盖equals方法看似简单却易出错。最容易避免的方法就是不覆盖equeals方法,即类的每个实例都只与它自身相等。覆盖equals时总
2017-05-08 22:07:25 226
原创 Android之沉浸式状态栏的实现
沉浸式状态栏确切的说应该叫做透明状态栏。一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明。
2017-05-06 21:07:42 358
原创 Android之序列化浅析
序列化是什么序列化是指把Java对象转换为字节序列并存储到一个存储媒介的过程。反之,把字节序列恢复为Java对象的过程则称之为反序列化。为什么要序列化Java对象存在的一个前提是JVM有在运行,因此,如果JVM没有运行或者在其他机器的JVM上是不可能获取到指定的Java对象的。而序列化操作则是把Java对象信息保存到存储媒介,可以在以上不可能的情况下仍然可以使用Java对象。
2017-05-06 21:04:31 269
原创 父窗口与子窗口调用
在使用iframe标签的时候,难免会需要在父窗口调用子窗口中的js方法;子窗口调用父窗口的方法;兄弟窗口之间方法调用,所以,稍微整理一下这方面的内容。
2017-05-06 10:17:34 4516
原创 (3)、exchange的几种类型及RPC的实现
在上一篇里,我们讲了rabbitMQ的通信流程。接下来,通过代码来实现exchange的几种类型,看一下rabbitMQ是如何运用的。
2017-05-06 10:13:09 1254
原创 (2)、rabbitMQ的通信流程
在上一篇中,大致介绍了一下rabbitmq(为了方便,以下简称rmq)中一些比较重要的概念,对rabbitmq也算是有了一些的了解。接下来,我们来看看rabbitmq的消息传递的流程,来熟悉和加深对rabbitmq 的了解。
2017-05-06 10:10:45 1532
原创 (1)、rabbitMQ入门
因为项目需要接触到了rabbitMQ,在此之前没有接触过关于这方面的内容,所以打算记录下对rabbitMQ的学习历程,这一篇是个人对rabbitMQ的一些基础概念的了解和环境的搭建。
2017-05-06 10:09:38 294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人