首页
学习
活动
专区
工具
TVP
发布

Java系列文章

专栏成员
77
文章
99772
阅读量
18
订阅数
Java实现简单的区块链
本文中,我们将学习区块链技术的基本概念。也将根据概念使用 Java 来实现一个基本的应用程序。
乱敲代码
2019-11-18
1.9K0
让人头大的各种锁,从这里让你思绪清晰
说到了锁我们经常会联想到生活中的锁,在我们日常中我们经常会接触到锁。比如我们的手机锁,电脑锁,再比如我们生活中的门锁,这些都是锁。
乱敲代码
2019-09-25
3340
死磕并发:Java内存模型
首先我们在了解java内存模型之前先看一下计算机内存模型,理解了计算机内存模型的话后面在看JMM就会简单的多,上篇文章我是直接写的。
乱敲代码
2019-09-17
4450
ThreadLocal可以解决并发问题吗
到底什么是线程的不安全?为什么会存在线程的不安全?线程的不安全其实就是多个线程并发的去操作同一共享变量没用做同步所产生意料之外的结果。那是如何体现出来的呢?我们看下面的一个非常经典的例子:两个操作员同时操作同一个银行账户,A操作员存钱,100B操作员取钱50。我们看一下流程。
乱敲代码
2019-09-02
6990
Java内存模型详解(一)
其实JMM很好理解,我简单的解释一下,在Java多线程中我们经常会涉及到两个概念就是线程之间是如何通信和线程之间的同步,那什么是线程之间的通信呢,其实就是两个线程之间互相交换信息线程之间通信的方式共有两种:一种就是共享内存,和消息传递。在共享内存中的并发模型中线程是通过读取主内存的共享信息来进行隐性通信的。在消息传递通信中线程之间没有公共的状态,只能通过发送消息来进行显性通信。然而这只是线程通信,那么同步呢,同步就是在多线程的情况下有顺序的去执行。在共享内存中同步时显式进行的,在代码中我们必须要去指定方法需要同步执行比如说加同步锁等。在消息传递的并发模型中发送消息必须是在消接收之前,所以同步时隐式的。
乱敲代码
2019-08-23
5590
如何使用Arrays工具类操作数组
我们要先知道Arrays 是什么。 java.util.Arrays 类是 JDK 提供的一个工具类主要用来操作数组,比如数组的复制转换等各种方法,Arrays 的方法都是静态方法可以通过Arrays.方法名称直接调用。本文主要分析一些常用的方法。
乱敲代码
2019-08-06
6420
Java 内存模型详解
Java的内存模型(Java Memory Model )简称JMM。首先应该明白,Java内存模型是一个规范,主要规定了以下两点:
乱敲代码
2019-07-31
6460
一张图讲解对象锁和关键字synchronized修饰方法(代码块)
每个对象在出生的时候就有一把钥匙(监视器Monitor),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题。
乱敲代码
2019-07-30
1.5K0
HashMap源码分析(二):看完彻底了解HashMap
HashMap在上一篇源码分析的文章中,如果使用put的时候如果元素数量超过threshold就会调用resize进行扩容
乱敲代码
2019-07-20
3390
Java效率工具之Lombok
还在编写无聊枯燥又难以维护的POJO吗?洁癖者的春天在哪里?请看Lombok!在过往的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。首先说明一下:任何技术的出现都是为了解决某一类问题的,如果在此基础上再建立奇技淫巧,不如回归Java本身。应该保持合理使用而不滥用。Lombok的使用非常简单,下面我们一起来看下:
乱敲代码
2019-07-12
5740
HashMap源码分析(一)(超级详细)
HashMap基于哈希表的Map接口实现,是以key-value存储形式存在。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。) HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。在 JDK1.8 中,HashMap 是由 数组+链表+红黑树构成,新增了红黑树作为底层数据结构,结构变得复杂了,但是效率也变的更高效。
乱敲代码
2019-07-09
4640
【震精】LinkedList源码竟然可以这样玩!!
注意一点LinkedList并没有实现RandomAccess所以随机访问是非常慢的。
乱敲代码
2019-06-20
3690
JDK源码阅读(三):ArrayList源码解析
一般来讲文章开始应该先介绍一下说下简介。这里就不介绍了 如果你不知道 ArrayList 是什么的话就没必要在看了。大致讲一下一些常用的方法
乱敲代码
2019-06-17
3950
JDK源码阅读(二):String源码分析
温馨提示 如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我 。 关注公众号 回复关键字获取免费资源: - 电子书 《java并发艺术、Spring微服务等》 - SpringCloud 《SpringCloud高级教程视频》 JAVA进阶:String源码分析 String结构 /* Strings are constant; their values can not be changed after they are created. Stringbuffers support mutable
乱敲代码
2019-06-17
3620
JDK源码阅读(一):Object源码分析
  类构造器是创建Java对象的方法之一。一般我们都使用new关键字来进行实例,还可以在构造器中进行相应的初始化操作。   在一个Java类中必须存在一个构造器,如果没有添加系统在编译时会默认创建一个无参构造。
乱敲代码
2019-06-17
7450
数据结构-队列
队列(queue)在计算机科学中,是一种先进先出的线性表。 它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
乱敲代码
2019-06-05
3720
SpringBoot整合JWT实现验证登陆
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的, 特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息, 以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
乱敲代码
2019-06-03
1.2K0
一文快速了解Java集合框架
JDK1.2 引入了 Java 集合框架,包含一组数据结构。与数组不同,这些数据结构的存储空间会随着元素添加动态增加。其中,一些支持添加重复元素另一些不支持,一些支持 null,一些能自动升序打印元素。
乱敲代码
2019-06-03
3380
你真的会写JAVA的单例模式吗?
单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。
乱敲代码
2019-06-03
4530
菜鸟的进阶之路:Java集合框架
在java.util 包里,包含了 Collection、List、Set、Map、SortedMap 等接口这些接口的实现类有 LinkedList、TreeSet、ArrayList、HashMap 等。除了这些数据结构,java.util 包还提供了 Date、GregorianCalender、StringTokenizer、Random 这样的工具类。
乱敲代码
2019-06-03
6560
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档