java基础
文章平均质量分 86
花开春还来
这个作者很懒,什么都没留下…
展开
-
BigDecimal的舍位方式介绍
介绍:不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。舍入方式:在银行、帐户、计费等领域,BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。 1、ROUND_UP 舍入远离零的舍入模式。 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。 注意,此舍入模式始终...原创 2018-09-21 17:05:27 · 1019 阅读 · 0 评论 -
Java线程池简介
介绍线程池的作用就是提供一种对线程的管理,避免由于过多的创建和销毁线程所造成的开销。在一个“池”中维护着一定数量的线程,达到可重复利用的效果。在Java中,线程池的实现主要是通过ThreadPoolExecutor来实现的。接下来先从类图结构来分析一下。public interface Executor { void execute(Runnable command);}...转载 2018-08-02 15:57:51 · 216 阅读 · 0 评论 -
ThreadPoolExecutor里面4种拒绝策略
ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等。常用构造方法:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,Blo...转载 2018-08-06 18:35:45 · 761 阅读 · 0 评论 -
NIO技术使用场景
NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。NIO和传统IO(一下简称IO)之间...转载 2018-08-06 17:13:06 · 889 阅读 · 0 评论 -
volatile修饰符
volatile 作用保证内存可见性 防止指令重排 不能解决原子性volatile 理解java中多线程共享的变量存储在主内存中,每个线程都有自己的工作内存,工作内存保存了主内存的副本,线程要操作共享变量,实际操作的是线程工作内存的副本,操作完毕后再同步写入主内存,各个线程线程只能访问自己的工作内存,不可以访问其它线程的工作内存。java中线程工作内存跟主内存的交互...转载 2018-08-06 16:07:29 · 228 阅读 · 0 评论 -
Java多线程中锁的理解与使用
1.简介锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等 ) 。2.Java锁的种类公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的...转载 2018-08-06 14:47:56 · 572 阅读 · 0 评论 -
线程池的使用
1、创建线程池package com.bee.vip.sys.util;import com.alibaba.fastjson.JSON;import org.apache.log4j.Logger;import java.util.ArrayList;import java.util.Collections;import java.util.List;import ja...原创 2018-08-06 11:23:01 · 212 阅读 · 0 评论 -
HashMap底层实现和原理
(1.7数组+链表与1.8+的数组+链表+红黑树)概述文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null 值,因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放...转载 2018-05-31 16:16:46 · 295 阅读 · 0 评论 -
数据结构简介
数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱是一种树形的逻辑结构!(初学数据结构的时候很不理解为什么有“栈”这个东西;队列很容易理解---无论购物就餐都需要排队;栈可以认为就是个栈道---只允许一个人通过的小道,而且只能从一端进入,然后再从这端...转载 2018-05-04 16:29:22 · 405 阅读 · 0 评论 -
浅谈Session与Cookie的区别与联系
一、Session的概念Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有...转载 2018-05-04 16:29:42 · 164 阅读 · 0 评论 -
Java 8 函数式编程探秘 ( 下 )
函数式编程的益处更精练的代码函数编程的一大益处,是用更精练的代码表达常用数据处理模式。函数接口能够轻易地实现模板方法模式,只要将不确定的业务逻辑抽象成函数接口,然后传入不同的lambda表达式即可。博文“精练代码:一次Java函数式编程的重构之旅” 展示了如何使用函数式编程来重构常见代码,萃取更多可复用的代码模式。这里给出一个列表分组的例子。实际应用常常需要将一个列表...原创 2018-12-06 16:36:51 · 282 阅读 · 1 评论