java并发编程实践-线程安全性
摘要:线程是CPU资源调度的基本单位,如果一个程序中只有一个线程,则最多只能在一个处理器上运行,如果电脑/服务器是双处理器系统,则单线程的程序只能使用一半的CPU资源,所以,多线程是提高处理器资源利用率的重要方法。比如web系统中的servlet容器,它处理请求时会针对每一个请求创建一个线程调用servl
阅读全文
posted @
2022-04-05 10:36
Judy518
阅读(48)
推荐(0) 编辑
java8-并行计算
摘要:java8提供一个fork/join framework,fork/join框架是ExecutorService接口的一个实现,它可以帮助你充分利用你电脑中的多核处理器,它的设计理念是将一个任务分割成多个可以递归执行的小任务,这些小任务可由不同的处理器进行并行执行,显然这样设计的一个目的就是提高应用
阅读全文
posted @
2022-02-20 16:36
Judy518
阅读(660)
推荐(0) 编辑
Java8-聚合操作
摘要:Java聚合操作(Aggregate Operations)是对一堆数据进行处理的新的操作方法,我们知道,如果想对一堆数据进行处理,比如一个List对象中的数据进行处理,传统的操作就是遍历List数据然后进行处理;现在有一种新的可以提供相同功能的操作方法,就是聚合操作(Aggregate Opera
阅读全文
posted @
2022-02-20 13:20
Judy518
阅读(1104)
推荐(0) 编辑
Java8-方法引用
摘要:我们使用lambda表达式创建了一个匿名函数,也就是利用lambda表达式来直接指定函数要实现的功能,但是有时候lambda表达式并不做任何事情,而只是调用一个现有的方法,例如下面这个对对象型数组进行排序的例子: public class Main { public static void main
阅读全文
posted @
2022-01-27 14:01
Judy518
阅读(40)
推荐(0) 编辑
Java8-lambda表达式
摘要:借助一段代码进行lambda表达式的分析: public class Main { public static void main(String[] args) { MathOper addOper=new MathOper() { @Override public int oper(int a,
阅读全文
posted @
2022-01-26 19:21
Judy518
阅读(37)
推荐(0) 编辑
Java运行时数据区
摘要:Java虚拟机定义了一些程序运行期间会使用到的数据区域,其中一些会随着JVM的启动而创建,随着JVM的退出而销毁;另外一些则与线程的运行一一对立的,这些数据区域会随着线程的开始而创建,随着线程的结束而销毁。下面是一张Java运行时的数据区模型图: 总的来说,Java运行时数据区域可以分为两个部分:线
阅读全文
posted @
2017-08-30 13:13
Judy518
阅读(405)
推荐(0) 编辑
java注解
摘要:注解(annotation)又称为元数据,是一种代码级别的说明,它为我们在代码中添加信息提供了一种形式化的方法。它是与类、接口、枚举同一个级别的,在编译的时候,注解也将被编译成class文件。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。java中内置的注
阅读全文
posted @
2017-08-21 16:28
Judy518
阅读(125)
推荐(0) 编辑
java IO之输出流——OutputStream
摘要:OutputStream抽象类是所有输出字节流的超类,输出流接收输出字节,并将这些字节发送到某个接收器。这个接收器可以是字节数组、文件、管道。该类的定义如下: 1 public abstract class OutputStream implements Closeable, Flushable {
阅读全文
posted @
2017-08-20 16:32
Judy518
阅读(3052)
推荐(0) 编辑
java IO之输入流——InputStream
摘要:java的基本输入流是java.io.InputStream,该抽象类定义了输入流的基本输入操作方法,实现自该抽象类的子类都有定义自己的数据源,例如ByteArrayInputStream的构造函数指定了ByteArrayInputStream输入流的数据源必须是一个字符数组。这就可以有多种不同的数
阅读全文
posted @
2017-08-19 21:51
Judy518
阅读(1634)
推荐(0) 编辑
java浅拷贝和深拷贝
摘要:java语言本身具有对对象的复制功能,Java.lang.Object具有受保护的clone()方法, 使用这个方法的前提是要实现Cloneable接口,调用clone()方法返回的克隆对象是一种“浅克隆”,什么意思呢?就是这种克隆“不彻底”,也就是克隆对象和原对象还有千丝万缕的联系,先拿一个例子证
阅读全文
posted @
2017-06-10 00:15
Judy518
阅读(166)
推荐(0) 编辑
Java反射机制
摘要:我们可以通过Java的RTTI机制可以获知某个对象的确切类型,但是这需要个先决条件:该类型必须在编译时必须已知,这样RTTI才能识别它,也就是说,在编译时,编译器必须要知道通过RTTI来处理的类。问题来了,如果我们不能获取的对象所属的实际类该怎么办?比如,我们从磁盘文件或网络中获取到一串字节,并被告
阅读全文
posted @
2017-06-07 23:02
Judy518
阅读(146)
推荐(0) 编辑
Java类型信息之RTTI
摘要:RTTI(Run Time Type Information)使得你可以在程序运行的时候获取和使用对象的类型信息。先来一个例子: 1 package re; 2 import java.util.*; 3 public class Reflect{ 4 public static void main
阅读全文
posted @
2017-06-07 00:02
Judy518
阅读(338)
推荐(0) 编辑
java编程之泛型
摘要:java泛型实现了“参数化类型”的概念,所谓“参数化类型”是指将操作的数据类型指定为一个参数,这点在容器中用的最多,例如:List<String> strlist=new ArrayList<String>(),List<Integer> intlist=new ArrayList<Integer>
阅读全文
posted @
2017-05-28 12:48
Judy518
阅读(182)
推荐(0) 编辑