- 博客(13)
- 收藏
- 关注
原创 深入学习Java虚拟机之——垃圾收集算法与垃圾收集器
今天我们将一起学习Java虚拟机使用垃圾收集算法和常见的垃圾收集器。Java虚拟机内存区域的程序计数器、虚拟机栈和本地方法栈3个区域是随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出出栈和入栈。每一个栈帧中分配多少内存基本上是在类结构确定下来的时候就已知的,因此这个几个区域的内存分配和回收都具备确定性,在这几个区域就不需要过多考虑回收问题,因为方法结束或者线程结束时,内存自然就跟着回收了。而
2016-05-06 11:36:03
875
原创 事务详解
在软件领域,全有或者全无的操作被称作事务(Trancatioin)。事务允许你将几个操作组合成一个要么全部发生要么全部不发生的工作单元。如果这几个操作都顺利,事务将会成功。但是如果出现有任何一个操作出错的话,所发生的行为将被清除干净(事务回滚)。一、 事务的四个要素1) 原子性(Atomic)事务是由一个或多个活动组成的一个工作单元。原子性确保了事务中的所有操作全部发生或全部不
2016-05-05 21:14:24
705
原创 Java实现十进制数转化为二进制数的算法
十进制转换为二进制并输出,本文仅讨论整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止;最后读数时候,从最后一个余数读起,一直到最前面的一个余数。 下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析
2016-05-05 19:46:10
2769
原创 给定一个字符串,找出其所有不重复的排列组合
给一个字符串,比如ABC, 把所有的排列,即:ABC, ACB, BAC, BCA, CAB, CBC 都找出来。 解题思路: 对于一个n 位的字符串来讲,它是n-1位字符串的排列 加上 没有在 n -1 位字符串里 那个字符 的排列。 比如: 对于字符串ABC来讲,它所有的排列就是 A + BC 的排列 加上 B + AC 的排列,再加上 C + AB的排列。
2016-05-05 19:35:17
7791
原创 对象的创建、内存布局、对象的访问定位
前一篇文章我们介绍了Java虚拟机的运行时数据区域之后,我们大致了解了虚拟机内存的概况。接下来,我们将一起学习对象是如何创建、如何布局以及如何访问的。讨论这个问题需要限定在具体的虚拟机和集中在某一个内存区域上才有意义。我们这个所说的是Sun的HotSpot虚拟机的Java堆内存区域,深入探讨HotSpot虚拟机在Java堆中对象的分配、布局和访问全过程。本文大纲:一、 对象的创建二、 对象
2016-05-04 18:57:14
2756
1
原创 Java内存区域详解
Java程序把内存控制权交由Java虚拟机,不容易出现内存泄漏和内存溢出问题,这大大减轻了程序员去管理内存所带来的烦恼。但是Java虚拟机控制内存一旦出现内存泄漏和溢出方面的问题,不过不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。本文主要讲解Java虚拟机内存的各区域、以及这些区域的作用、服务对象及可能产生的问题。本文大纲:一、 Java虚拟机运行时数据区二
2016-05-04 14:03:46
659
原创 java中静态代码块、静态方法、static关键字详解
最近在准备面试,复习java基础知识,对java中和static关键字相关的静态方法、静态代码块、非静态代码块、静态成员变量的用法进行了详细的总结。1. 静态成员变量声明为static关键词修饰的变量叫做静态成员变量,也叫作全局变量。在被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名
2016-04-10 21:40:21
11573
原创 solr5.5之从数据库中导入数据并建立索引
前面已经介绍了solr-5.5.0的安装与部署,接下来我将分享solr-5.5.0数据导入之从数据库中导入数据并建立索引的例子。由于本人也是刚刚接触solr,不足之处,请大家多多见谅。solr和lucene版本更新太快了,版本之间的差异十分大。比如之前的版本中,在core中使用schema.xml作为根描述文件,在solr5.5中使用的是叫做managed-schema作为描述文件。这个本人在这个
2016-04-09 15:55:43
5791
1
原创 VirtualBox中使用双网卡实现CentOS既能上网(校园网)也能使用SSH客户端
最近在虚拟机中使用linux操作系统,之前使用NAT方式上网,能够畅通无阻。但是使用SSH客户端连接linux虚拟机就必须为其指定固定的IP地址。按照网上的配置方法使用桥接方式,这种方式是可以的。但是问题是,我们使用的是校园网客户端(Dr.COM),在虚拟机中需要登录该客户端才能使用,貌似没有linux版,再说了只有一个账号呢。要实现这样的需求,我们之前说了NAT方式是可以上网的,然后使用HOST
2016-04-07 11:07:14
3044
原创 solr5.5.0在CenOS上的安装与配置
1、 Solr简介Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,
2016-04-03 11:21:43
3622
原创 CentOS上JDK的安装与环境变量的配置
本文讲述的JDK为Oracle官方提供的JDK版本,下载地址:http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-i586.tar.gz。需要在Oracle官方注册之后,才能够下载。
2016-04-02 15:48:04
13884
2
原创 redis在CentOS上的安装经验
在这里跟大家分享一下安装Redis的经验。Redis官方当前稳定版本为3.0.7,详情可以登录其官方网站查看。安装过程如下:第一步:下载redis$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz第二步:解压$ tar xzf redis-3.0.7.tar.gz第三步:进入解压的目标文件$ c
2016-03-30 09:37:12
502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人