一. synchronized 同步锁在 JDK 1.6 之前,synchronized 是重量级,效率低下。从 JDK 1.6 开始,synchronized 做了很多优化,如偏向、轻量级、自旋、适应性自旋消除、粗化等技术来减少操作的开销。synchronized 同步一共包含四种状态:无、偏向、轻量级、重量级。它会随着竞争情况逐渐升级。synchronized 同步
java的终极大整理一、概述java中是在是有太多太多的,相信很多人在面对某个的时候在概念上可能有些模糊,所以我才会写这边文章,梳理一下自己脑海里的概念,如果那哪里有疏漏,诸位请指出二、分类 首先将分为概念上的、有具体实现类的的底层原理、数据库  概念上的:悲观、乐观、互斥、公平、非公平、共享、独占、重量级、死锁,  有具体实现类的:synchronized
出来工作了几个月后,发现对java高阶知识了解的还是不够深,没毕业就买了一本<深入理解java虚拟机>到现在也就粗略看了也就两三章。于是决定通过做笔记的方式再次学习下。梳理下知识体系,了解下深入知识。一、java技术体系1、官方定义Sun官方定义的java技术体系包括: 1、java 语言 2、各个硬件平台的java虚拟机 3、Class文件的格式 4、Java API类库 5、商业机
一.Java技术体系简介:Java技术体系包括以下几个组成部分:java程序设计语言各种硬件平台上的java虚拟机Class文件格式Java API 类库来自商业机构和开源社区的第三方类库 JDK(java Development Kit):包括java程序设计语言,java虚拟机,java API类库。JDK是用于支持java程序开发的最小环境。JRE(java Runtime Env
转载 2023-07-02 14:07:30
80阅读
Java的IO家族很是繁荣,刚接触有点让人摸不清关系,今天让我们来认识一下他们。 认识他们之前,我们先来了解一下什么是数据流,很显然,从字面上理解,流动的数据,你可以想象一下,水库里的水就是数据,我现在想把这些水弄到另外一个地方,我就要挖一个类似管道的东西,水(数据)就会不断地流到另一端,这我们称为水流,数据流和它一样 我们要认识一个庞大的体系,首先要从整体来认识他,不然从一些细枝末叶去探究很
转载 2023-08-11 12:43:23
54阅读
一. java IO概念 java中I/O主要是指使用Java进行输入,输出操作. 二.Java IO的体系结构Java I/O主要包括如下几个层次,包含三个部分:  1.流式部分――IO的主体部分;  2.非流式部分――主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;  3.
转载 2023-07-17 16:42:59
50阅读
Java的三大体系架构概述Java SEJava SE的主要特点和应用场景Java SE中的核心API和功能Java SE的优缺点Java EEJava EE的主要特点和应用场景Java EE中的核心API和功能Java EE的优缺点Java MEJava ME 的主要特点和应用场景Java ME 中的核心API和功能Java ME 的优缺点Java SE、Java EE和Java ME 的比较
转载 2023-10-03 20:41:20
49阅读
Java集合(集合框架) Java标准库自带的java.util包提供了集合类。Java集合就像一种容器,可以含有多个对象(实际上是对象的引用,但习惯上都称对象),从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数据类型,使得编码更加简洁、健壮。Java集合大致可以分为两大体系,一个是Collection,另一个是Map。Collection :主要由List、Set、Q
转载 2023-10-06 14:26:09
37阅读
Java之父:詹姆斯·高斯林 java之前叫做“Oak”,后改名为Java。//Oak来源于橡树,java 来源爪哇岛的一种咖啡   Java语言平台 J2SE(Java 2 Platform Standard Edition)标准版 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础, 可以完成一些桌面应用程序的开发 J2ME(Java 2 Platform Micro E
转载 2021-08-12 17:07:57
187阅读
Java体系和特点1、Java的特性Java是一门面向对象的编程语言,面向对象其实是一种从对象的角度来看待事物,将一个个模块划分为对象,按照对象的发展规律去考虑问题,这就是面向对象语言的特点。Java是一种跨平台的语言,它提供了在不同平台下运行的解释环境,让Java开发出来的产品有更强大的可移植性。Java是一种健壮的语言,在Java创建的初期,Java就是在c++的基础上开发的,甚至Java
转载 2023-08-31 06:35:23
18阅读
Java IO体系综述一、流的概念  在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称作输出流。这些字节序列的来源地和目的地可以是文件,而且通常都是文件,但是也可以是网络连接,甚至是内存块。编程语言的I/O类库中使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。  Java中I/O操作主要是指使
转载 2023-07-19 17:56:31
71阅读
Java IO体系IO的全称其实是:Input/Output的缩写个人觉得可以用“字节流操作类和字符流操作类组成了Java IO体系”来高度概括Java IO体系。借用几张网络图片来说明(图片来自  ) 基于字节的IO操作   基于字符的IO操作    从上图可以看到,整个Java IO体系都是基于字符流(R
转载 2023-11-22 10:27:23
94阅读
文章目录Java语言介绍一、Java如何实现跨平台二、JDK介绍安装JDK三、编译与运行 Java语言介绍Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 Java具有简单性
转载 2023-07-23 15:28:22
59阅读
1、膨胀如果在尝试加轻量级的过程中,CAS操作无法成功,这时一种情况就是有其它线程为此对象加上了轻量级(有竞争),这时需要进行膨胀,将轻量级变成重量级。static Object obj = new Object(); public static void method1() { synchronized(obj) { //同步块 } }当Thread-1进行轻量
转载 2023-05-29 15:07:51
118阅读
Java体系结构包括四个独立但相关的技术: Java程序设计语言。Java class文件格式。Java应用编程接口(API)。Java虚拟机。 当编写并运行一个Java程序时,就同时体验了这四种技术。用Java编写语言编写源代码,把它编译成Java class文件,然后再在Java虚拟机中运行class文件。当编写程序时,通过调用类(这些类实现了Java API)中的方法
转载 2023-08-08 08:30:43
70阅读
一、什么是,以及的作用是什么  在并发编程中,经常会遇到两个以上线程访问同一个共享资源的情况,当多个线程同时对共享资源进行读写操作时,就会产生数据不一致的情况。那么这个时候,就需要来保证多线程环境中,资源获取的有序性和占用性。二、Synchronized和Lock一说到,我们首先想到的肯定就是Synchronized了,这是我们在学习多线程过程中最先接触到的,也是JDK1.5之
转载 2023-06-25 21:26:28
145阅读
独占:是指一次只能被一个线程持有,ReentrantLock和Synchronized都是独占。 共享:是指可以被多个线程持有。 对于ReentrantReadWriteLock,其读是共享,写是独占
转载 2023-08-02 08:11:47
0阅读
从公平的角度来说,Java 中的总共可分为两类:公平和非公平。但公平和非公平有哪些区别?孰优孰劣呢?在 Java 中的应用场景又有哪些呢?接下来我们一起来看。正文公平:每个线程获取的顺序是按照线程访问的先后顺序获取的,最前面的线程总是最先获取到。非公平:每个线程获取的顺序是随机的,并不会遵循先来先得的规则,所有线程会竞争获取。举个例子,公平就像开车经过收费站一样,所有的车
java程序开发中一旦用到,就表示采用了阻塞形式的并发——一种最糟糕的并发等级。而优化就是希望在高并发多线程程序当中将涉及到有动作的相关代码尽可能的加以改进,使执行效率尽可能地得到提升。当然就算将这种用到了的代码优化到极致,其性能也无法超越无,毕竟会导致线程挂起(相对来说相当耗时及浪费资源)。但是我们要想办法让这种损耗降到最低,这是优化的出发点。一般来说,java优化有如下思路或方
转载 2023-09-21 21:47:47
72阅读
摘要记得面试的时候总是被问及一些java相关的问题,其中最常被问及的就是:的类型都用哪些?这篇文章主要记录常用的一些类型,以备面试中问道。的类型:1. 乐观、悲观乐观:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观适用于多读的应用类型,这样可以提高吞吐量,在Java中ja
转载 2023-10-16 23:29:13
59阅读
  • 1
  • 2
  • 3
  • 4
  • 5