![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 63
CheerForU
一枚学习中的在读研究生
展开
-
Thread.sleep()方法
为什么要用sleep,主要是为了暂停当前线程,把cpu片段让出给其他线程,减缓当前线程的执行。两种方式: 第一种方式是只调用sleep静态方法;第二种是获取对象后再调用sleep静态方法。第二种方式效率要低一些,因为多了一次函数调用,而且通过对象调用静态方法也不太符合“静态”的定义(静态成员最好通过类名直接访问),但功能上是一致的。当需要调用非静态方法时使用第二种方式,否则直接使用第一种方式...原创 2018-03-15 11:14:23 · 24792 阅读 · 1 评论 -
深入理解java虚拟机 精华总结(面试)
一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基...转载 2018-03-11 21:19:20 · 555 阅读 · 1 评论 -
Java中Iterable和Iterator的辨析
本文主要对Iterable和Iterator两个接口进行深入学习。1、Iterable接口Iterable接口 (java.lang.Iterable) 是Java集合的顶级接口之一。我们首先看下这这个接口在JDK中的定义:package java.lang; public interface Iterable<AnyType>{ Iterator...转载 2018-03-18 22:47:01 · 365 阅读 · 0 评论 -
XStream 用法总结
XStream是一个Java对象和XML相互转换的工具,提供了所有的基础类型、数组、集合等类型直接转换的支持。因此XML常用于数据交换、对象序列化(这种序列化和Java对象的序列化技术有着本质的区别)。 XStream对象相当Java对象和XML之间的转换器,转换过程是双向的。创建XSteam对象的方式很简单,只需要new XStream()即可。 ...转载 2018-03-05 22:55:24 · 650 阅读 · 0 评论 -
Java程序执行Linux命令
java程序中要执行linux命令主要依赖2个类:Process和Runtime首先看一下Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的...原创 2018-03-11 22:23:42 · 558 阅读 · 0 评论 -
JVM 新生代老年代
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出...转载 2018-03-14 11:35:24 · 253 阅读 · 1 评论 -
Windows下RabbitMQ安装及入门
1.RabbitMQ安装(1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行(注意以管理员身份运行),输入erl,如...原创 2018-05-03 16:07:45 · 253 阅读 · 0 评论 -
Redis安装及入门
1.Redis安装(1):下载Redis Linux官方下载地址:https://redis.io/download, Windows64位下载地址:https://github.com/ServiceStack/redis-windows测试使用的Windows版本,redis-64.3.0.503,下载并解压 (2):修改配置 redis.windows.conf 是Red...原创 2018-07-30 01:41:16 · 236 阅读 · 0 评论 -
SysLog日志工具的实现
系统概述:通过封装SysLog日志工具来减少调用Syslog.getInstance() 生成SyslogIF实例的重复性代码。系统总体结构: SysLogUtil为单例模式,同时只向一个host发送日志若需向多个host发日志,new SysLogToolImpl实例即可。SysLogTool功能: a)功能启/停用 b)参数配置,包括使用协议、服务器地址、服务器端口、...原创 2018-03-08 20:28:04 · 5484 阅读 · 1 评论 -
SysLog简介和实现
什么是SysLogsyslog协议属于一种主从式协议:syslog发送端会传送出一个小的文字讯息(小于1024字节)到syslog接收端。接收端通常名为“syslogd”、“syslog daemon”或syslog服务器。系统日志讯息可以被以UDP协议及╱或TCP协议来传送。Syslog 常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)的网络中传递记录档讯息的标准。这个...原创 2018-03-08 19:42:25 · 2205 阅读 · 0 评论 -
Java 中 Comparable 接口的意义和用法
一. 为何需要实现Comparable接口我们知道Collections类中包含很多对实现Collection接口的容器各种操作的静态方法。当然, 其中最长用的莫过于排序了(Collections.sort(List l)。下面是个简单例子:public class Compare1{ public static void f(){ ArrayLis...转载 2018-03-08 15:19:48 · 844 阅读 · 0 评论 -
Java中serialVersionUID的使用
对Java对象进行序列化及反序列化,标准模式是实现Serializable接口。 实现上述接口时,需要提供一个serial version ID,用于标识类的版本。一个对象被序列化后,只要其版本不变,都可以进行反序列化,一旦 改变造成版本不一致,会抛出InvalidClassException异常。原创 2017-12-21 21:32:44 · 1755 阅读 · 0 评论 -
Java中Swing编程JFrame窗口的使用
Java中GUI程序的编写离不开Swing和AWT编程。Swing组件包含JFrame, JApplet, JDialog和JWindow等容器,我们简单地学习下JFrame的基本使用。原创 2017-12-23 15:52:40 · 18256 阅读 · 1 评论 -
正则表达式小结
基本用法从JDK1.4开始提供了对正则表达式的支持,位于java.util.regex包里。 主要用到的类就是Pattern和Matcher。Pattern用于编译你编写的表达式。public final class Pattern implements java.io.SerializableMatcher类用于对Pattern编译的表达式进行匹配。public f...原创 2017-12-23 22:12:43 · 180 阅读 · 0 评论 -
Java中instanceof的用法
instanceof 运算符作用用来在运行时指出对象是否是特定类的一个实例通过返回一个布尔值来指出,这个对象是否是这个特定类或它的子类的一个实例。instanceof 用法boolean result = object instanceof class参数:result:布尔类型。object:任意对象表达式。class:任意已定义的对象类。如果 object 是 class 的一个实例转载 2018-01-08 19:35:20 · 264 阅读 · 0 评论 -
Java中socket编程的使用
一、网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(TCP)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为转载 2017-12-23 20:32:10 · 250 阅读 · 0 评论 -
Java中四种生成和解析XML文档的方法详解
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J。下面首先给出这四种方法的jar包下载地址: DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SAX:http://sourceforge.net/projects/sax/ JDOM:http://jdom.org/downloads/index.html转载 2017-12-23 16:34:32 · 406 阅读 · 0 评论 -
Java中打印日志的几种方式
前言在Java 中实现记录日志的方式有很多种, 1. 最简单的方式,就是system.println.out(error) ,这样直接在控制台打印消息了。 2. Java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了。 3. log4j , 最强大的记录日志的方式。 可以通过配置 .properties 或是 .xml 的文件, 配转载 2017-12-23 18:15:09 · 89864 阅读 · 3 评论 -
Java中常用的几种对字符串的处理(substring,split,indexOf,lastIndexOf,replace)
1. substringpublic String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 示例: “hamburger”.substri...原创 2018-03-07 17:13:16 · 890 阅读 · 0 评论 -
常用排序算法(选择排序、冒泡排序、插入排序、归并排序、快速排序、堆排序)
选择排序选择出数组中的最小元素,将它与数组的第一个元素交换位置。再从剩下的元素中选择出最小的元素,将它与数组的第二个元素交换位置。不断进行这样的操作,直到将整个数组排序。public void sort(int[] a) { int N = a.length; for (int i = 0; i < N; i++) { int min = i; ...原创 2018-08-31 21:09:57 · 2816 阅读 · 0 评论