首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货 | 聊聊java并发(上)

    ,在Java中我们通过Thread类去抽象每个线程个体。...在Java中通过使用volatile关键字、Lock、synchronized关键字、原子类等手段来完成同步(以及通信,线程间通信与同步关系密切),以解决因为同步产生的竞争状态。...3.JMM JMM(Java memory model,通常说的是在JSR133中确定的JMM )定义了什么样的行为在Java多线程中合法。...开头先对比了java并发技术的优劣以及挑战,然后从线程间通信与线程间同步这两个最本质的问题切入,详细描述了什么是线程间通信、什么是线程间同步,并因此引入了JMM这个模型概念。...最后,关于JMM中的语义细节,用底层的实现原理讲解了java语言层面的两个重要关键字volatile、synchronized。

    53620

    干货 | 聊聊java并发(上)

    ,在Java中我们通过Thread类去抽象每个线程个体。...在Java中通过使用volatile关键字、Lock、synchronized关键字、原子类等手段来完成同步(以及通信,线程间通信与同步关系密切),以解决因为同步产生的竞争状态。...3.JMM JMM(Java memory model,通常说的是在JSR133中确定的JMM )定义了什么样的行为在Java多线程中合法。...开头先对比了java并发技术的优劣以及挑战,然后从线程间通信与线程间同步这两个最本质的问题切入,详细描述了什么是线程间通信、什么是线程间同步,并因此引入了JMM这个模型概念。...最后,关于JMM中的语义细节,用底层的实现原理讲解了java语言层面的两个重要关键字volatile、synchronized。

    91850

    干货系列之java注解

    干货系列之java注解 前言 java反射和注解在java里面很重要,但是很多人对这方面的知识理解不是很好,我来说说我自己对java反射和注解的理解,这两块内容本来应该出在一个博客文章里面讲解,但是由于我的...java反射说的内容有点小多,然后我就分开将讲解一下。...目录 注解的概念 注解的类别 注解用法 通过反射获取注解 反射注解一起使用拼写SQL语句实战演练 注解的概念 java注解: 比较官方的说法: 从JDK5开始,Java增加对元数据的支持,也就是注解,...注解的类别 java语言提供的注解 元注解 其他注解 java语言提供的注解 1.Override 学过java你就知道,你肯定见过这种 @Override public Object clone(...) throws CloneNotSupportedException {} 没错,@Override就是一个java提供的注解。

    33340

    Java HashMap工作原理及实现(干货)

    Java 8之前的实现中是用链表解决冲突的,在产生碰撞的情况下,进行get时,两步的时间复杂度是O(1)+O(n)。因此,当碰撞很厉害的时候n很大,O(n)的速度显然是影响速度的。...因此在Java 8中,利用红黑树替换链表,这样复杂度就变成了O(1)+O(logn)了,这样在n很大的时候,能够比较理想的解决这个问题,在Java 8:HashMap的性能提升一文中有性能测试的结果。...如果发生碰撞的时候,Hashmap通过链表将产生碰撞冲突的元素组织起来,在Java 8中,如果一个bucket中碰撞冲突的元素超过某个限制(默认是8),则使用红黑树来替换链表,从而提高速度。 3....关于Java集合的小抄中是这样描述的: 以Entry[]数组实现的哈希桶数组,用Key的哈希值取模桶数组的大小可得到数组下标。...iterator()时顺着哈希桶数组来遍历,看起来是个乱序 参考资料 HashMap的工作原理 Java 8:HashMap的性能提升 JEP 180: Handle Frequent HashMap

    1.4K40

    Java面试题-基础篇三(干货

    这些JAVA基础题确定都会了吗?...38、简单说说Java中的异常处理机制的简单原理和应用。...异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间、地点、人物、情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常...Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类: Error和Exception...栈:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间

    48710

    干货——详解Java中的关键字

    本文总结了Java中所有常见的关键字以及一些例子。 static 关键字 ---- 概述: 当static修饰类的属性或者方法时,那么就可以在没有创建对象的情况下使用该属性或方法。...2.Java的语法规定,static不能修饰局部变量。没有为什么,这就是规定。 静态块 静态块和静态变量、静态方法是没什么区别的,也是在类加载的时候执行,而且只执行一次。...static不可以修饰局部变量(java语法规定) 没想到static能有这么多需要注意的,可以说Java中的语法还是有很多可以深究的. final 关键字 ---- 概述: final关键字,在平时的过程中也是很常见的...如果为false,则程序抛出java.lang.AssertionError,并输入。...transient关键字  Java中,一个类想要序列化,可以通过实现Serilizable接口的方式来实现,实现该接口之后,该类所有属性和方法都会自动序列化。

    42130

    最新 Java 后端系列干货,都在这了!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 推荐阅读: 最新 Spring 系列教程,都在这了! 最新 Java 核心技术教程,都在这了!...以下是Java技术栈微信公众号发布的所有关于 Java Web 技术干货,会从以下几个方面汇总,本文会长期更新。...坑爹的日志无法按天切割问题 阿里巴巴对【日志处理】的规约 Java正确获取客户端真实IP方法整理 到底什么是跨域?附解决方案!...Java程序员必须掌握的常用Linux命令 ElasticJob-分布式作业调度神器 分布式作业 Elastic Job 快速上手指南!...Java 程序员必备的 15 个框架 Mybatis传递多个参数的4种方式 推荐一款 MyBatis 开发神器,为简化而生! 一次 Druid 连接池泄露引发的血案!

    46920

    干货】顶级 Java 源码教程项目大汇总!

    大家好,我是鱼皮,今天分享几个 GitHub 上顶级的 Java 源码教程项目。...tutorials 一系列小而专注的教程集合,几乎包括了 Java 生态所有的知识、框架、类库的可执行示例代码!比如 Spring、Netty、Vertx、MyBatis 等等。...每个目录都是一个微型的 Java 项目源码,直接下载运行,或者复制粘贴到自己的项目中,都是极好的。...[tutorials] java-design-patterns 该项目包含了 所有 设计模式的 Java 语言实现源码,远远不止常见的 23 种设计模式!...[程序示例] TheAlgorithms/Java 该项目是所有常用算法和数据结构的 Java 实现,像排序、搜索等。基本每个算法对应一个类,可以直接查看源代码,学习规范的写法。

    1.4K21

    干货 | 写好Java代码的30个技巧

    成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。...Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。...对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。...(24) 在Java 1.1 AWT中使用事件”适配器”时,特别容易碰到一个陷阱。若覆盖了某个适配器方法,同时拼写方法没有特别讲究,最后的结果就是新添加一个方法,而不是覆盖现成方法。...作者:JAVA柯尼塞克丶

    41411

    干货】2016高薪Java面试题集锦

    很多小伙伴毕业在即,找工作和面试又被提上了日程,为了解决小伙伴们的燃眉之急,老九君特地为大家整理了一份最新的Java面试题集锦与答案,希望能给近期将要找工作的小伙伴带来帮助。...将会不定期的推送给大家面试题,不仅有Java、Android、其他的编程语言与岗位也会有哦! Switch能否用string做参数?...1、在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。...Hashcode的作用,与 equal 有什么区别 1、同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用...JAVA 中堆和栈的区别,说下java 的内存机制 1、基本数据类型比变量和对象的引用都是在栈分配的 2、堆内存用来存放由new创建的对象和数组 3、类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存

    89880
    领券