• 简单看看ReentrantLock

    简单看看ReentrantLock 前面我们分析了AQS的基本原理,然后也试着基于AQS实现了一个可重入的锁了,现在我们再来看看官方的ReentrantLock锁,这个锁是可重入的独占锁,也就是说同时只有一个线程可以获取该锁,而且这个线程还能继续尝试获取锁; 一.简单的使用 我们先根...

    2020-02-05 16:03:27 IErsynctimAVntt<异常数字修改常用

  • 稀疏数组

    稀疏数组 一、引入 先来看一个实际问题: 编写的五子棋程序中,有存盘退出和续上盘的功能 如上图,0表示没有棋子,1表示黑色棋子,2表示蓝色棋子 问题分析:因为该二维数组很多值是默认值0,因此记录了很多没有意义的数据。 解决方案:用稀疏数组代替二维数组 二、稀疏...

    2020-02-05 16:03:05 IE小程序<sys大小形式代码功能解决问题

  • JVM源码分析-类加载场景实例分析

    JVM源码分析-类加载场景实例分析 A类调用B类的静态方法,除了加载B类,但是B类的一个未被调用的方法间接使用到的C类却也被加载了,这个有意思的场景来自一个提问:方法中使用的类型为何在未调用时尝试加载?。 场景如下: public class Main { static { System.out.pri...

    2020-02-05 16:02:04 Linux独立博客虚拟机IEEMDBugPSAccesstimAV

  • JVM源码分析-JVM源码编译与调试

    JVM源码分析-JVM源码编译与调试 要分析JVM的源码,结合资料直接阅读是一种方式,但是遇到一些想不通的场景,必须要结合调试,查看执行路径以及参数具体的值,才能搞得明白。所以我们先来把JVM的源码进行编译,并能够使用GDB进行调试。 编译环境 本文使用的JDK版本:Ope...

    2020-02-05 16:01:38 java runtime文件定义Linux技巧echo独立博客虚拟机IE360

  • hashCode() 和 equals()的问题解答及重写示范

    本章的内容主要解决下面几个问题: 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么? 3 hashCode() 的作用是什么? 4 hashCode() 和 equals() 之间有什么联系? 4 java 如何重写equal 和hashcode方法 第1部分 equals() 的作用 equals() 的作用是 用来判断两...

    2020-02-04 16:03:29 定义IE诀窍2345PSAVHTTPS<HTMLthe

  • 在普通WEB项目中使用Spring

    在普通WEB项目中使用Spring Spring是一个对象容器,帮助我们管理项目中的对象,那么在web项目中哪些对象应该交给Spring管理呢? 项目中涉及的对象 ? 我们回顾一下WEB项目中涉及的对象 Servlet Request Response Session Service DAO POJO 分析 我们在学习IOC容器时知道,Sp...

    2020-02-04 16:03:05 文件IEServletWebAppSpring配置PSTomcatAVHTTPSweb

  • maven加载ojdbc14报错

    maven加载ojdbc14报错 问题复现步骤: 1、在pom.xml里面添加ojdbc14的依赖,代码如下: dependency groupIdcom.oracle/groupId artifactIdojdbc14/artifactId version10.2.0.2/version /dependency 2、执行mvn install报如下错误: [ERROR] Failed to execute goal on...

    2020-02-04 16:02:53 文件WindowsIEPSAVHTTPS命令提示符<the代码

  • 基于AQS自己实现一个同步器

    基于AQS自己实现一个同步器 前面说了这个多,我们可以自己尝试实现一个同步器,我们可以简单的参考一下ReentrantLock这个类的实现方式,我们就简单的实现一个不可重入的独占锁吧! 一.简单分析ReentrantLock的结构 下图所示,直接实现了Lock这个接口,然后定义了一个内...

    2020-02-04 16:01:20 定义PStimAVntt<异常修改对象sys

  • 实现线程的方式到底有几种?

    实现线程的方式到底有几种? 这篇文章主要讲解实现线程的方式到底有几种?以及实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里? 实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。所以本文就先从并发编程的基础...

    2020-02-03 16:05:11 编程的基础定义timAVnttAE<层次常用call

  • JDK8中的HashMap实现原理及源码分析

    JDK8中的HashMap实现原理及源码分析 大纲 一.什么是Hash?什么是HashMap? 二.HashMap的内部实现机制 1.HashMap基本元素 ①DEFAULT_INITIAL_CAPACITYMAXIMUM_CAPACITY ②DEFAULT_LOAD_FACTORloadFactor ③sizethreshold 2.HashMap的构造函数 3.HashMap的put添加功能实现...

    2020-02-03 16:04:41 IE百科点评苹果系统美团PS技术团队维基百科Access