自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Java线程池详解

文章目录一、合理使用线程池的好处二、线程池的实现原理线程池的主要处理流程:三、线程池的使用线程池的创建之前旧的创建方式:新的创建方式线程池提交任务关闭线程池如何配置线程池一、合理使用线程池的好处降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度:任务不需要等待线程创建提高线程的可管理性:线程是稀缺资源,不能无限制地创建,使用线程池可以进行统一分配、调优和监控...

2020-02-06 18:55:59 288

原创 Java中的并发工具类

文章目录CountDownLatch代码示例同步屏障CyclicBarrier代码示例CyclicBarrier和CountDownLatch的区别控制线程并发线程数的Semaphore代码示例线程间交换数据的Exchanger代码示例CountDownLatch它允许一个或多个线程等待其他线程完成操作,相当于join()的功能,但比join()的功能更多。代码示例import jav...

2020-02-06 14:14:52 177

原创 ConcurrentLinkedQueue详解

文章目录Node几个CAS操作入队列单线程入队过程入队操作HOPS的设计意图出队列出队操作如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,即队列用一个锁(入队和出队用同一把锁)或两个锁(入队和出队分别用一把锁)来实现;另一种是使用非阻塞算法,即使用循环CAS的方式实现。而ConcurrentLinkedQueue是使用非阻塞的方式来实现的基于链表的线程安全队列,采用先进先出(FIF...

2020-02-05 16:33:06 1286

原创 ConcurrentHashMap详解

文章目录为什么要用ConcurrentHashMap?1、线程不安全的HashMap2、效率低下的HashTable3、ConcurrentHashMap的锁分段技术可提升并发访问效率ConcurrentHashMap的结构HashEntry类HashEntry对象的不变性结构性修改操作:put、remove、clearSegment类ConcurrentHashMap类ConcurrentHas...

2020-02-05 14:16:08 3798 1

原创 Java做题要用到的工具

图的搜索算法:BFS和DFS详解参考文章:https://www.jianshu.com/p/2226dbe98e06DFS(深度优先遍历)深度优先搜索是从起始顶点开始,递归访问其所有邻近节点,比如A节点是其第一个邻近节点,而C节点又是A的一个邻近节点,则DFS访问A节点后再访问C节点,如果C节点有未访问的邻近节点的话将继续访问其邻近节点,否则继续访问A的未访问邻近节点,当所有从A节点出去...

2019-12-15 10:48:15 272

原创 CCF-201903-1 小中大

Java实现import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); //flag为1则n为奇数,为0则n为偶数 ...

2019-12-10 21:06:37 200

原创 CCF-201909-2 小明种苹果(续)

Java实现import java.util.Scanner;public class Main { public static void main(String[] args) { ccf2(); } public static void ccf2() { Scanner in = new Scanner(System.in); int n = in.nextInt(...

2019-12-10 00:53:22 124

原创 CCF-201909-1 小明种苹果

Java实现import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt...

2019-12-09 20:51:35 899

原创 Ubuntu中git pull远程仓库时显示403错误

报错内容fatal: unable to access 'https://git.dev.tencent.com/chendongnan/sfedu_wx.git/': The requested URL returned error: 403问题起源https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速。设置记住密码(默认15分钟...

2019-12-08 19:21:33 2240

原创 Mysql学习笔记

MySql关联查询1、交叉连接(笛卡尔积)–cross join语法:select * from t1 cross join t2 [on][where];用法:如果t1和t2都有10条数据,则查询结果为10*10=100条数据。2、内连接–inner join语法:select * from t1 (inner) join t2 [on];用法:inner可以省略,不加on时用法和交...

2018-12-10 23:25:17 242

原创 过滤器(Filter)、拦截器(Interceptor)的区别及使用

在区别过滤器和拦截器之前我们先来了解一下SpringMVC的执行流程spring工作流程描述:用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Han...

2018-11-27 21:50:29 548

原创 Session及Cookie的区别和使用

什么叫一次会话?用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一次会话,当用户关闭浏览器,会话就结束了,此时cookie就会失效。保存会话数据的两种技术CookieCookie是客户端技术,程序把每个用户的数据以cookie的形式写到用户的浏览器中,当用户用浏览器再去访问服务器的时候就会带着cookie里面的数据,这样服务器就能处理不同...

2018-11-27 19:32:47 309

原创 mysql中的date、datetime、timestamp类型与java date之间的转换问题

java中Date和String之间的转换/***程序1*将date转换成String*得到像 2018-11-26 这种格式的日期字符串*/public static String gainDate(Date date){    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");    String dateStr...

2018-11-26 12:50:36 25949 1

转载 面试题

一、阿里巴巴面试第一个:阿里面试都问什么? :(55分钟)1、开发中Java用了比较多的数据结构有哪些?2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问你有没有线程安全的map,接下来问了conurren包。3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问...

2018-08-03 20:57:20 597

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除