自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术小白的博客

程序员菜鸡成长之路

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

转载 Synchronized实现原理

Java 虚拟机中的同步(Synchronization)基于进入和退出Monitor对象实现, 无论是显式同步(有明确的 monitorenter 和 monitorexit 指令,即同步代码块)还是隐式同步都是如此。在 Java 语言中,同步用的最多的地方可能是被 synchronized 修饰的同步方法。同步方法 并不是由 monitorenter 和 monitorexit 指令来实现同步...

2019-08-01 22:30:13 307

转载 kafka机制与原理

https://blog.csdn.net/jason_xiaojie_liu/article/details/81746407

2019-07-22 23:23:29 280

转载 java分布式锁介绍

锁在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了则等待拥有标记的线程结束同步代码块取...

2019-06-30 18:07:59 326

转载 spring cloud之eureka执行流程

eureka是一种去中心化的服务治理应用,其显著特点是既可以作为服务端又可以作为服务向自己配置的地址进行注册。Eureka的服务端eureka的服务端核心类是EurekaBootstrap,该类实现了一个ServletContextListener的监听器。因此我们可以断定eureka是基于servlet容器实现的。关键代码如下:public class EurekaBootStrap im...

2019-06-29 22:38:11 1546

转载 java之设计模式总结

什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原...

2019-06-18 22:39:47 214

转载 jvm常见面试题

1. 内存模型以及分区,需要详细到每个区放什么。栈区:栈分为java虚拟机栈和本地方法栈重点是Java虚拟机栈,它是线程私有的,生命周期与线程相同。每个方法执行都会创建一个栈帧,用于存放局部变量表,操作栈,动态链接,方法出口等。每个方法从被调用,直到被执行完。对应着一个栈帧在虚拟机中从入栈到出栈的过程。通常说的栈就是指局部变量表部分,存放编译期间可知的8种基本数据类型,及对象引用和指令地...

2019-06-16 22:41:27 216

转载 spring加载解析

Spring框架提供了构建Web应用程序的全功能MVC模块,叫Spring MVC,通过Spring Core+Spring MVC即可搭建一套稳定的Java Web项目。本文通过Spring MVC源码分析介绍它的核心实现原理。Tomcat服务器启动入口文件是web.xml,通过在其中配置相关的Listener和Servlet即可加载Spring MVC所需数据。基于Spring MVC最简单...

2019-06-16 20:45:54 131

转载 jvm数据区域分析

基本问题介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)拓展问题String类和常量池8种基本类型的包装类和常量池1 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 dele...

2019-06-02 16:50:20 207

转载 java之常见的gc算法

引用计数法 Reference Counting给对象添加一个引用计数器,每过一个引用计数器值就+1,少一个引用就-1。当它的引用变为0时,该对象就不能再被使用。它的实现简单,但是不能解决互相循环引用的问题。根搜索算法 GC Roots Tracing以一系列叫“GC Roots”的对象为起点开始向下搜索,走过的路径称为引用链(Reference Chain),当一个对象没有和任何引用链相连...

2019-05-27 23:13:59 4756 1

转载 java之gc的工作原理

gc概述GC是什么? 为什么要有GC呢?GC是垃圾收集的意思(Garbage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。所以,Java的内存管理实际上就是对象的管理,其中包括对象的分配和释...

2019-05-27 22:58:33 700

转载 java中hashmap的实现原理与底层数据结构

Hashmap是java面试中经常遇到的面试题,大部分都会问其底层原理与实现,本人也是被这道题问惨了,为了能够温故而知新,特地写了这个博客,以便时时学习。Hash结构HashMap根据名称可知,其实现方法与Hash表有密切关系。在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能。数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给...

2019-05-25 18:44:13 86298 9

转载 synchronized、Lock、volatile、Condition介绍

https://www.cnblogs.com/yiwangzhibujian/p/6219047.html多线程怎么防止竞争资源,即防止对同一资源进行并发操作,那就是使用加锁机制。这是Java并发编程中必须要理解的一个知识点。其实使用起来还是比较简单,但是一定要理解。有几个概念一定要牢记:加锁必须要有锁执行完后必须要释放锁同一时间、同一个锁,只能有一个线程执行synchroniz...

2019-05-23 23:25:16 159

转载 java中锁的分类

参考:https://www.cnblogs.com/qifengshi/p/6831055.htmlhttp://ifeve.com/java_lock_see1/公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java中Reent...

2019-05-23 22:55:14 195

转载 java乐观锁与悲观锁介绍

乐观锁与悲观锁描述乐观锁,顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,其实都是提供的乐观锁。在Java中java.util.concurrent.atomic包下面的原子变量类就是使...

2019-05-22 23:17:18 1379

转载 java中session的用法与原理

https://www.cnblogs.com/xdp-gacl/p/3855702.htmlsession简介在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的s...

2019-05-21 23:05:50 100759 8

原创 java异常类

Java的异常类主要包含以下两种:ErrorException其中,Error是指系统或者编译出错情况产生的异常,是不允许捕获的;Exception是指程序运行过程中因各种原因激发java标准库产生的异常,可以被捕获,主要分为运行时异常Runtime Exception和非运行时异常NonRuntime Exception。运行时异常Runtime Exception对应于编译错误,它是指...

2019-05-21 07:23:50 265

翻译 java面试系列 基础篇二

final、finally、finalize的区别finalfinallyfinalizefinalfinal是java的一个关键字,可以用来修饰java中的类、方法和变量(包括成员变量和局部变量)。final修饰类时,表明该类不可以被继承,如java中String类就是final类型的类,不可被别的类继承。final类中所有的成员方法都会隐式的定义为final方法。final修饰方法时...

2019-05-12 09:26:35 126

翻译 java面试系列 基础篇一

java面试系列 基础篇一面向对象的特征与特性封装继承多态面向对象的特征与特性java语言是一种面向对象的变成语言,其具备面向对象编程的三大特征:封装、继承、多态封装封装主要是将抽象的数据类型和利用这些抽象数据的相关业务功能封装在一个类中,成为一个不可分割的独立个体,实现对数据的保护,隐藏实现过程,只向外提供接口供用户使用,用户不需要关心具体的实现细节。优点:减少耦合:可以独立地开发...

2019-05-11 23:18:05 114

chatQQ聊天

qqTONGXIN ,实现QQ聊天的系统工具

2013-07-04

空空如也

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

TA关注的人

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