首页
学习
活动
专区
工具
TVP
发布

云霄雨霁

专栏作者
209
文章
238342
阅读量
42
订阅数
Java Concurrent -- 同步容器类
同步容器类包括Vector和Hashtable,其外还包括一些由Collections。synchronizedXxx()等工厂方法创建的同步封装器类。这些类实现线程安全的方式是:将他们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能够访问容器的状态。
SuperHeroes
2019-03-12
6140
JVM--运行时数据区
Java虚拟机在执行Java程序时,会把它所管理的内存划分为若干个数据区域,这些区域各有各的用途。
SuperHeroes
2019-03-12
4130
JVM--堆区
Java堆是虚拟机所管理的内存中最大的一块,此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这块区域是“线程共享”的。
SuperHeroes
2019-03-12
5380
Java--动态代理
代理类MyInvocationHandler 实现(必须实现InvocationHandler接口 ):
SuperHeroes
2019-03-12
2570
Java--序列化对象
Java序列化是指把Java对象转换为二进制字节码并持久化到磁盘上的过程,Java反序列化是指把二进制码重新从磁盘读取并转换成Java对象的过程。
SuperHeroes
2019-03-12
6960
Servlet处理JSON字符串传输问题
前些时候做学校的实践周项目,因为功能比较简单,没有采用框架直接用Servlet实现。过程中遇到了一些问题,其中就出现了Json字符串传输问题。
SuperHeroes
2019-03-12
1.5K0
Servlet过滤器笔记
实现Servlet过滤器关键有两点,实现Filter接口,在web.xml中配置过滤器。
SuperHeroes
2019-03-12
3090
Servlet入门笔记
读取客户端(浏览器)发送的数据,接收数据并处理过后将数据返回给客户端(浏览器),即用于实现服务端业务逻辑。
SuperHeroes
2019-03-12
5700
搭建SpringMVC(非web.xml文件方式)
既然DispatcherServlet是Spring MVC的核心,首先来配置DispatcherServlet。传统的配置DispatcherServlet是通过web.xml来配置的,然后将web.xml放在应用的WAR包里面。这里不使用web.xml文件配置,而采用Java来将DispatcherServlet配置在servlet容器中。
SuperHeroes
2019-03-12
7900
Spring Bean的装配(非XML文件方式)
Spring自动扫描默认没有开启,所以我们需要配置开启组件扫描。当然可以通过XML文件配置,但新Spring支持Java配置。
SuperHeroes
2019-03-12
8470
Java--Big Number操作(BigInteger类和BigDecimal类)
java.math.BigInteger 类的使用场景是大整数操作。它提供类似所有Java的基本整数运算符和java.lang.Math中的所有相关的方法的操作,如+、-、*、/、%、&、|、mod、>>、<<,以及min()、max()等等。只不过它操作的整数都是极其大的,为科学计算提供了很大的便利。比如下面的代码就是计算20000000000000000000 * 30000000000000000000,利用BigInteger可以很容易的计算出来结果。
SuperHeroes
2019-03-12
1K0
分布式Java--基于远程调用实现系统间通信
远程调用方式就是尽可能将系统间的调用模拟为系统内的调用,让使用者感觉远程调用就像是调用本地接口一样。但远程调用并不能做到完全透明,因为存在网络问题、超时问题、序列化/反序列化问题等等。
SuperHeroes
2019-03-12
7530
分布式Java--基于消息方式实现系统间通信
分布式子系统之间需要通信时,就发送消息。一般通信的两个要点是:消息处理和消息传输。
SuperHeroes
2019-03-12
1.5K0
JVM--对象回收
Java运行时数据区包括:程序计数器、虚拟机栈、本地方法栈、Java堆和方法区。这里面程序计数器、虚拟机栈和本地方法栈是线程私有的,当线程结束或者方法退出时其内存自然会被回收。所以Java的垃圾回收机制主要关注的是两部分:Java堆和方法区。JVM规范并没有强制要求对方法区进行GC,其实方法区保存的都是类信息、静态变量、常量等,并不太需要GC,所以GC主要还是关注Java堆。
SuperHeroes
2019-03-12
4340
JVM--对象创建
虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就必须进行相应的类加载过程。
SuperHeroes
2019-03-12
5660
JVM--类加载
Java虚拟机没有强制约束什么情况下需要开始类加载的第一个阶段--加载,但Java虚拟机强制约束了类的初始化的开始时间(而加载、验证、准备自然在初始化之前进行)。
SuperHeroes
2019-03-12
3530
并发编程包--java.util.Concurrent
java.util.concurrent并发编程包是专门为Java并发编程设计的,其中设计的类主要分为以下几部分: 显式锁 原子变量 线程池 并发容器 同步工具类 1、显式锁 显式锁相关内容可以看这篇
SuperHeroes
2018-05-31
5300
并发容器类
并发容器类图 image.png ConcurrentLinkedQueue ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部,当我们获取一个元素时,它会返回队列头部的元素。该队列是非阻塞的,如果从一个空的ConcurrentLinkedQueue中获取值,会返回null。因此,ConcurrentLinkedQueue中元素不允许有空值。 Queue和BlockingQueue(阻塞队列)
SuperHeroes
2018-05-31
4460
同步工具类
同步工具类图: 闭锁相关:CountDownLatch 信号量相关:Semaphore 栅栏相关:CyclicBarrier 、Exchanger 线程池相关:Executors 闭锁 闭锁是一种工具
SuperHeroes
2018-05-31
5420
数据库的并发控制总结
并发操作带来的问题 数据库并发操作通常会带来三个问题:丢失更新问题、读脏数据问题、不可重复读问题。 丢失更新问题 即一个事务对数据库的更新操作没有保证对其他事务可见。 例如,数据库中A的初始值为100,事务T1对A减30,事务T2对A减50,那么最后结果肯定应该是20。但按照表中进行,最后结果却是50,即丢失了事务T1对数据库的更新。 时间 事务T1 数据库中的值 事务T2 t0 100 t1 FIND A t2 FIND A t3 A=A-30 t4 A=A-50 t5 UPDATE
SuperHeroes
2018-05-31
5400
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档