自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

没有进步就是退步

个人博客:https://callmejiagu.github.io/

  • 博客(10)
  • 资源 (10)
  • 收藏
  • 关注

转载 Java并发编程 之 乐观锁和悲观锁

悲观锁可以把悲观锁想成一个很小心的人,无论做什么操作之前,都要去加个锁,这样别人想拿这个数据就会block直到它拿到锁。但是在效率方面,处理加锁的机制会产生额外的开销,还有增加产生死锁的机会。另外如果只有只读事物,这个锁是没必要的。 传统的关系型数据库里边就用到了很多这种锁机制,比如读锁,写锁等,都是在做操作之前先上锁。悲观锁的实现在java中,synchronized就是一种悲观锁的实现。这个很

2017-10-31 20:49:29 1620

原创 Java 线程池实现的原理

在开始介绍线程池的原理之前,我想问一下各位在使用线程的时候,有没有想过为什么一个thread只能start()一次呢?

2017-10-31 20:10:43 544

原创 JVM 之 逃逸分析和TLAB

来看一道面试题:所有的new 对象都是分配在堆上的吗?如果不是,是什么情况。在没看到这道题目的时候,我对所有对象都分配在堆上的想法是没有一丝怀疑的,但是事实是不一定的。

2017-10-28 15:05:26 906 1

原创 JVM 之 类的装载机制

看到网上有一道面试题:能不能装载自定义的 java.lang.String? 答案是否定的,我们能自定义一个java.lang.String,但是加载不进来。我相信很多人在网上看到这样的答案“可以,但在应用的时候,需要用自己的类加载器去加载”。这个回答是错误的,现在我们来分析一下jvm在装载一个类的时候,是如何进行的。

2017-10-28 12:28:02 1152

原创 Java 的 四种引用

从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。

2017-10-25 09:18:51 354

原创 Socket编程 之 一种死锁现象

刚接触socket编程的过程中,很容易出现死锁的现象。下面我来介绍一种死锁的原因和解决的方法。

2017-10-14 14:57:25 1899

原创 Java NIO 之 Socket开篇

前几天看到室友在种田,我凑过去看了一下,原来在做socket编程啊!刚好这块内容我不熟悉,于是趴在他的桌上问了一些关于socket的问题。简单来说他想要实现自己的服务端,然后对发送过来的请求做出响应。诶,这个和我们熟悉的Tomcat服务器很像嘛。不错,Tomcat就是一个免费的开放源代码的Servlet容器。这篇我来实现一个简单的servlet容器的功能。先来看一下Tomcat的处理流程,如下:1、

2017-10-14 11:27:25 446

原创 Java IO操作

前几天碰到一个io程序,发现在使用上忘得差不多了,这里写几个demo便宜回顾一下。字符流FileReader/FileWriter demopublic static void main(String[] args){ try { FileReader fileReader = new FileReader("E:\\test.txt");

2017-10-12 10:56:37 267

原创 Java并发编程 之 HashMap线程不安全

我想在平时的多线程编程中,容器的使用是很普遍的,但是你有没有考虑过有些容器是不安全的,如Haspmap、ArrayList。这里讲解一下Hashmap不安去体现在哪里。插入时不安全:如果有两个线程A和B,都进行插入数据,刚好经过哈希计算后得到的哈希码是一样的,即插入的位置是一样的。假设,线程A通过判断,该位置没有哈希冲突,还没有进行数据插入的时候,CPU就把资源让给了线程B。这时候线程B判断该位置也

2017-10-11 14:50:42 496

原创 Java并发编程 之 volatile

国庆已经结束了,本该在国庆前就应该做好这篇笔记的,怎奈自己太懒,就在今天把前几天的知识梳理一下。在前几篇的博客介绍了一点并发编程的相关知识,今天我对volatile的原理简单的阐述一下。要想理解volatile的原理,需要对JMM(Java内存模式)有些了解。在实际的程序运行中,由于cpu执行速度很快,而从内存读取数据和向内存写入数据的过程跟cpu执行指令的速度比起来要慢的多,于是在cpu就引入了缓

2017-10-09 15:08:41 560

搜狗新闻分类语料

整理自搜狗实验室中的新闻分类。含有金融、体育、军事等11个分类集。

2018-10-30

hibernate开发包

hibernate开发包

2017-06-11

spring3.0.5-dist.rar

spring开发包

2017-06-08

navicat_mysql

11.0版本的navicat

2017-06-01

杭电数据结构01-15年真题答案

历年师兄传下来的答案,有需要的下载

2017-03-04

杭电数据结构01-16年真题

包括最近一年的16年真题到01年

2016-10-02

android-async-http-1.4.7.jar

2016-06-18

学生管理数据库系统

用mysql,apache,php编写的学生管理系统课程设计

2015-06-21

SDK迷宫游戏

利用SDK完成的小游戏,没有什么算法,简单的判断。

2015-06-18

空空如也

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

TA关注的人

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