![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
善思
哈尔滨工程大学计算机科学与技术专业学术硕士,研究方向为CV,曾在世界500强公司ABB(中国)有限公司实习半年算法工程师,在中间空间技术研究院(503)实习一年,做java后端开发实习生。
展开
-
Java知识点总结
git上一个大佬的总结,偷偷搬运过来哈哈哈哈哈,好东西!!!!!!!0x1 Java001 语言基础1. HashMap从入门到熟悉 ⭐⭐⭐⭐⭐1. hash碰撞的解决方案HashMap就是使用哈希表来存储的。哈希表为解决冲突,可以采用开放地址法和链地址法等来解决问题,Java中HashMap采用了链地址法。链地址法,简单来说,就是数组加链表的结合。在每个数组元素上都一个链表结构,当数据被Hash后,得到数组下标,把数据放在对应下标元素的链表上。2. 红黑树优化方案1. 为什么是长度为8的时候原创 2020-05-18 20:14:03 · 6322 阅读 · 3 评论 -
Java并发编程,终极篇持续更新
java并发目录java并发关键字VolatileSynchronizedjava内存模型1.CAS2.讲一下Java内存模型吧?java线程及通信2.一个线程连着调用start两次会出现什么情况?3.wait方法能不能被重写,wait能不能被中断;4.线程与进程的区别是什么?线程之间如何进行通信?进程之间如何进行通信?(当时进程如何通信我也没有答出来)java中的锁1、什么是线程安全,如何保证线程安全2、重入锁的概念,重入锁为什么可以防止...原创 2020-05-09 20:41:17 · 263 阅读 · 2 评论 -
java小知识整理
java小知识整理& and &&&:按位与、逻辑与。&&:短路与StringBuilder、StringBuffer、String**String用final修饰,不可变。StringBuffer&StringBuilder**可变。StringBuffer线程安全(synchronized修饰方法)HashMap...原创 2020-04-16 22:42:00 · 246 阅读 · 0 评论 -
IDEA中启动一个springboot项目
IDEA中启动一个springboot项目(2)在上一篇文章中我们介绍了如何使用IDEA创建一个springboot项目,这篇文章我们来讲解一下如何在IDEA中启动一个springboot项目。基于上篇文章的项目进行介绍创建一个springboot项目:http://blog.csdn.net/y12nre/article/details/60867478启动的方式这里介绍两种...转载 2020-04-04 23:59:45 · 22529 阅读 · 0 评论 -
Netty 系列之 Netty 线程模型
Netty 系列之 Netty 线程模型1. 背景1.1. Java 线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的 CPU 都还是单核(除了商用高性能的小机),CPU 的核心频率是机器最重要的指标之一。在 Java 领域当时比较流行的是单线程编程,对于 CPU 密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1.1.2. 多线程...原创 2020-04-03 16:10:49 · 181 阅读 · 0 评论 -
NIo、Bio、aio、 的原理及区别与应用场景
在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下:序号 问题 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 什么是异步阻塞? 8 什么是异步非阻塞? 散仙不才,在查了一部分资料后,愿试着以通俗易懂的...转载 2020-04-03 13:27:34 · 198 阅读 · 0 评论 -
reactor 和 proactor 模式
首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了 reactor 和 pr oactor 模式;Reactor 模式,或者叫反应器模式高性能 IO 设计的 Reactor 和 Proactor 模式首先就第一篇《Reactor 模式,或者叫反应器模式》做一下笔记:刚开店做生意,老板为了给顾客一个美好的印象,给顾客最好的服务,一对一:正在上传…重新上传取消...原创 2020-04-03 12:13:27 · 558 阅读 · 2 评论 -
Java史上最全面试题
从知乎上看到的,从今天开始一条一条过,过完之后在后面加链接。一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。http://blog.csdn.net/qq_34309305/article/details/79163990用Java写一个冒泡排序算法 同上描述一下链式存储结构。http://blog.csdn.net/qq_34309305/article/...转载 2020-04-01 19:30:07 · 185 阅读 · 0 评论 -
Java中垃圾回收是什么?为什么要有垃圾回收?垃圾回收是指回收什么数据?
GC是垃圾收集的意思(Gabage Collection)GC是垃圾收集器。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc()Runtime.getRuntime().gc()Java是由C++发展来的。它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。Java有了GC,就不需要程序员...原创 2020-04-01 14:44:16 · 956 阅读 · 0 评论 -
如何查看GC日志
一.首先来看一下JVM中的GC有哪几种类型?1.-XX:UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后,使用Serial+Serial Old收集器组合进行垃圾收集。2.-XX:UseParNewGC 打开此开关参数后,使用ParNew+Serial Old收集器组合进行垃圾收集。3.-XX:UseConcMarkSweepGC 打开此...原创 2020-04-01 14:27:34 · 4775 阅读 · 0 评论 -
Eden和Survivor
JVM 参考回答: 目前主流的虚拟机实现都采用了分代收集的思想,把整个堆区划分为新生代和老年代;新生代又被划分成Eden 空间、 From Survivor 和 To Survivor 三块区域。 我们把Eden : From Survivor : To Survivor 空间大小设成 8 : 1 : 1 ,对象总是在 Eden 区出生, From Survivor 保存当前的幸存对象, To ...原创 2020-03-29 15:22:56 · 578 阅读 · 0 评论 -
线程中断
线程中断中断不是类似linux里面的命令kill -9 pid,不是说我们中断某个线程,这个线程就停止运行了。中断代表线程状态,每个线程都关联了一个中断状态,是一个 true 或 false 的 boolean 值,初始值为 false。关于中断状态,我们需要重点关注Thread类中的以下几个方法:// Thread 类中的实例方法,持有线程实例引用即可检测线程中断状态p...原创 2020-03-29 13:19:15 · 194 阅读 · 0 评论 -
AQS
AQSAQS 提供一个框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。对于大多数依赖单个原子 int 值表示状态的同步器,该类可以作为十分有用的基类。子类必须定义所有的protected方法(包括tryAcquire、tryRelease),来改变这个状态,并且定义哪些状态代表来对象被使用和被释放。鉴于这些,该类中其他的方法用来实现队列和阻塞的机制。子...原创 2020-03-29 13:16:46 · 139 阅读 · 0 评论 -
SpringSecurity
第一章 SpringSecurity-简介1. 简介https://docs.spring.io/spring-security/site/docs/4.2.10.RELEASE/guides/html5/helloworld-xml.htmlSpringSecurity融合Spring技术栈,提供JavaEE应 用的整体安全解决方案;Spring Security为基于Java EE的...原创 2020-03-28 17:08:20 · 978 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap底层是基于 数组+链表 组成的,不过在jdk1.7和1.8中具体实现稍有不同。1.7中的数据结构正在上传…重新上传取消是由Segment数组、HashEntry组成,和HashMap一样,仍然是数组加链表。HashEntry跟HashMap差不多的,但是不同点是,他使用volatile去修饰了他的数据Value还有下一个节...原创 2020-03-19 14:07:51 · 89 阅读 · 0 评论 -
HashMap
HashMap1.了解数据结构中的HashMap么?能跟我聊聊他的结构和底层原理么?HashMap由数组和链表组合构成的数据结构。数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry在Java8中叫Node。在put插入的时候会根据key的hash去计算一个index值。2.你提到了还有链表,为啥需要链表,链表又是怎么样子的呢?我们都知道数组长度是有限的,在...原创 2020-03-17 21:05:52 · 110 阅读 · 0 评论 -
Bootstrap
第一章 介绍1.1 简介Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。为什么使用 Bootstrap?移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。浏览器支持:所有的主流浏览器都支持 Bootstrap。I...原创 2020-03-07 21:45:13 · 455 阅读 · 0 评论 -
java日志架构
第一章介绍1.1 为什么有日志及框架?跟踪用户对系统访问统计Debug1.2 日志框架市场上存在非常多的日志框架。JUL(java.util.logging),JCL(Jakarta Commons Logging),Log4j,Log4j2,Logback(具体框架,springboot使用)、SLF4j、jboss-logging等。Spring 在框架内部使用JCL。L...原创 2020-03-06 20:52:05 · 958 阅读 · 0 评论