Java 应用
文章平均质量分 62
源码下载: https://github.com/nai-chen/JavaBlog
假装你是大灰狼
移动端工程师
展开
-
JVM参数设置
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本文将注重介绍JVM、转载 2020-05-21 16:07:45 · 227 阅读 · 0 评论 -
Java 多线程设计模式
安全性:不损坏对象不安全是指,对象的状态处于非预期状态,比如账户余额变成了负值生存性:进行必要的处理生存性是指:程序能正常运行,可进行必要的处理,影响生存性的典型问题有出现死锁复用性:可再利用类复用性是指代码重用,若复用性好,可减少大量重复代码性能:能快速,大量进行处理性能有两个方面的考虑因素:吞吐量和响应性,客户端程序比较重视响应性,服务端程序更重视吞吐量,吞吐量是指单位时间内完成的任务,响应性是指提交任务后多长时间内能收到程序的反馈。转载 2020-05-11 16:07:09 · 647 阅读 · 0 评论 -
Java JDK1.8新特性
一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用default关键字即可,这个特征又叫做扩展方法interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}Formula formula...转载 2020-05-08 10:23:28 · 781 阅读 · 0 评论 -
Java Crash捕捉
JVM为我们提供了线程的未捕获异常处理机制,通过Thread的setUncaughtExceptionHandler(UncaughtExceptionHandler)方法public void setUncaughtExceptionHandler(UncaughtExceptionHandler eh)也可以通过静态方法setDefaultUncaughtExceptionHandler...原创 2019-12-25 14:21:54 · 372 阅读 · 0 评论 -
Java JDK1.7新特性
1.可以用二进制表达数字可以用二进制表达数字(加前缀0b/0B),包括:byte, short, int, long// 可以用二进制表达数字(加前缀0b/0B),包括:byte, short, int, long@Testpublic void testLiterals() { ...转载 2018-12-13 16:16:47 · 522 阅读 · 1 评论 -
Java JDK1.6新特性
1.Desktop类和SystemTray类在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray。 前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后...转载 2018-12-13 15:37:01 · 1835 阅读 · 1 评论 -
Java 动态代理
动态代理是指在运行时,动态生成代理类。代理类的字节码将在运行时生成并载入当前的ClassLoader。生成动态代理类的方法很多,如JDK自带的动态代理、CGLIB、Javassist或者ASM库。JDK动态代理使用简单,它内置在JDK中,因此不需要引入第三方J...转载 2018-12-11 18:08:14 · 133 阅读 · 1 评论 -
Java NIO用法
1.NIO在Java的标准I/O中,提供了基于流的I/O实现,即InputStream和OutputStream。NIO是New I/O的是简称,基于块(Block),以块为基本单位处理数据。其中最主要的两个概念是缓冲(Buffer)和通道(Channel)。NIO实现文件的拷贝,读取Channel中的数据,写入Buffer中,再从Buffer中读取。public void copyFile...原创 2018-12-11 16:30:01 · 449 阅读 · 1 评论 -
Java 中的String、StringBuilder以及StringBuffer
一.你了解String类吗?想要了解一个类,最好的办法就是看这个类的实现源代码,String类的实现在\jdk1.6.0_14\src\java\lang\String.java文件中。打开这个类文件就会发现String类是被final修饰的:public final class ...转载 2018-12-11 10:12:43 · 317 阅读 · 1 评论 -
Java RMI应用
RMI的定义RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯。允许运...转载 2018-12-10 12:25:18 · 689 阅读 · 1 评论 -
Java 排序算法
1. 冒泡排序冒泡排序是排序算法中最简单的,遵循以下规则从最左边开始,比较两个相邻的值如果左边的值大于右边,交换位置向右移动,比较下面两个值按照这样比较下去一直到最右边,最大值被交换到最右边。public void bubbleSort(int[] array) { for (int end = array.length - 1; end > 1; end--) {...原创 2018-12-04 16:01:20 · 170 阅读 · 1 评论 -
Java Telnet客户端
1.第三方库commons-net-*.jar打开http://commons.apache.org/proper/commons-net/download_net.cgi下载jar包。2.telnet 客户端private void connectToServer(String server) { TelnetClient telnetClient = new TelnetClie...原创 2018-12-04 15:19:44 · 1559 阅读 · 1 评论 -
Java Ftp客户端
1.第三方库commons-net-*.jar打开http://commons.apache.org/proper/commons-net/download_net.cgi下载jar包2.上传文件private boolean upload(String absolutePath, String name) { FTPClient ftpClient = new FTPClient(...原创 2018-12-04 15:11:51 · 1111 阅读 · 1 评论 -
Java Socket套接字
1. SocketSocket主要用来收发服务器数据。主要方法 socket.getInputStream() // 接收服务器输入 socket.getOutputStream() // 发送服务器输出 socket.getInetAddress() // 服务器地址 socket.getPort() // 服务器端口号 s...原创 2018-12-04 10:05:39 · 396 阅读 · 1 评论 -
Java NetworkInterface和InetAddress
1. NetworkInterface使用NetworkInterface类获得网络接口信息,调用NetworkInterface.getNetworkInterfaces()获取所有网络接口。Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();while (inte...原创 2018-12-04 10:04:18 · 961 阅读 · 1 评论 -
Java URI和URL
1. URL统一资源定位符URL(Uniform Resource Location),统一资源定位符,可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。URL主要由Protocol://Authority/File#ref组成。String[] address = new String[]{ "http://user:pwd@www.abc....原创 2018-12-04 10:02:45 · 2126 阅读 · 1 评论 -
Java 线程工具类
1. CountDownLatchCountDownLatch首先定义任务次数,并调用await()方法等待任务完成。调用countDown()方法表明已经完成一项任务,当任务全部完成后,继续await()方法后的任务。public class CountDownLatchThread extends Thread { CountDownLatch latch; publi...原创 2018-12-03 13:48:27 · 2423 阅读 · 1 评论 -
Java ThreadLocal类
ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图...转载 2018-12-03 09:19:39 · 497 阅读 · 1 评论 -
Java 加密算法
1. 散列算法MD5和SHA主要通过采集文件的信息摘要,以此进行计算并加密。常被用来一致性验证、数字证书和安全访问认证。MD5加密MD5加密后的位数一般为两种,16位与32位。16位实际上是从32位字符串中,取中间的第9位到第24位的部分。public class MD5 { public static void encrypt(String value) { ...原创 2018-11-26 17:22:06 · 1746 阅读 · 1 评论 -
Java 块加密
块加密块加密,英文Block Cyper,又称分组加密,是一种常见的对称加密,具有代表性的块加密有DES,AES,3DES等。块加密的工作模式允许使用同一个分组密码密钥对多于一块的数据进行加密,并保证其安全性。ECB模式又称电子密码本模式:Electronic cod...转载 2018-11-26 14:36:02 · 495 阅读 · 0 评论 -
Java StringTokenizer用法
相关文章Java String匹配算法Java String的intern方法Java StringTokenizer应用1. StringTokenizer应用StringTokenizer可以把一个字符串分解为单词或者标记,StringTokenizer有三个构造函数。StringTokenizer(String str) // 使用默认分割符" \t\n\r\f&a原创 2018-11-19 15:04:08 · 783 阅读 · 1 评论 -
Java String匹配算法
1. String匹配在一个文本或者较长的一段字符串中,找出一个指定字符串,并返回其位置。指定一个父类AbstractMatch,使用matchAtPosition查看是否匹配。public abstract class AbstractMatch { protected final String pattern; public AbstractMatch(String pa...原创 2018-11-19 14:54:33 · 4488 阅读 · 1 评论 -
Java Timer类
1. Timer类Timer类主要用于设置计划任务,TimerTask用于实现任务。public class ThreadTimer { public static void main(String[] args) { Timer timer = new Timer(); TimerTask task = new TimerTask() { ...原创 2018-11-19 14:06:40 · 522 阅读 · 1 评论