标签:锁

Java

Java面经分类以及总结(2)–思考

5

changyuan.xu 发布于 2019-09-17

hashmap是一个非线程安全的集合。 他的线程不安全出现在,并发情况下可能会出现链表成环的问题,导致程序在执行get操作时形成死循环。 hashmap成环原因的代码出现在transfer代码中,也就是扩容之后的数据迁移部分 解决问题: 使用synchronize ,或者使用co...

阅读(7)评论(0)赞 (0)

Java

Java面经分类以及总结(1)–必会

1

yeseng 发布于 2019-09-17

1.定义区别: ①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 ②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。 2.类的关系区别 覆盖是子...

阅读(8)评论(0)赞 (0)

Java

面试鹅厂,我被虐的体无完肤

hanze 发布于 2019-09-17

点击上方 “ 开发者技术前线 ”, 选择“星标” 13点21分打卡 就是真爱 作者:codegoose ? |? 责编:可可 链接:https://segmentfault.com/a/1190000017864721 经过半年的沉淀,加上对MySQL,red...

阅读(8)评论(0)赞 (0)

Java

作为一名Java程序员的他,不接私活也能月薪38k

25

wenming.gapo 发布于 2019-09-17

接私活 对程序员这个圈子来说是一个既公开又隐私的话题,不说全部,应该大多数程序员都有过想要接私活的想法,当然,也有部分得道成仙的不主张接私活。 但是很少有人在公开场合讨论私活的问题,似乎都在避嫌。 就跟有人下班后跑滴滴一样,程序员私有时间接点活挣点钱不也很正常么,不过不要在上班时...

阅读(5)评论(0)赞 (0)

Java

JDK13 GA发布:5大特性解读

3

尖兵 发布于 2019-09-17

JDK13 GA版本 5大新特性如下: 350: Dynamic CDS Archives 351: ZGC: Uncommit Unused Memory 353: Reimplement the Legacy Socket AP I 354: Switch Expressio...

阅读(5)评论(0)赞 (0)

Java

警惕,mybatis的size()方法竟然有坑!

2

xirruiqiang 发布于 2019-09-17

来源: http://h5ip.cn/aJgJ Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql...

阅读(8)评论(0)赞 (0)

Java

SBT无痛入门指南 原 荐

5

yeseng 发布于 2019-09-17

SBT ? 是 Scala 的构建工具,全称是 Simple Build Tool, 类似 Maven 或 Gradle。 SBT 的野心很大,采用Scala编程语言本身编写配置文件,这使得它稍显另类,虽然增强了灵活性,但是对于初学者来说同时也增加了上手难度。另外由于S...

阅读(5)评论(0)赞 (0)

Java

volatile理解

xiaoli.he 发布于 2019-09-17

cpu怎么与缓存的操作 cpu会先从缓存中的缓存行读取内存值(不是内存地址),如果缓存没有命中,那么就从主内存中获取值,并且将获取到的值写入缓存行 volatile修饰符 volatile修饰过的变量转换成汇编语言会有个lock指令 lock指令会引发下面的情况: (1)、锁定当...

阅读(6)评论(0)赞 (0)

Java

Docker下Jedis体验

4

zhuangli 发布于 2019-09-17

jedis是redis的java版本的客户端实现,本文通过一些web请求&响应的实例展示了jedis的基本用法; 开始编码前我们先把环境准备好,总共两个server,对应两个docker容器: redis,采用redis的3.2.8版本,本次实战用的是redis单机; t...

阅读(10)评论(0)赞 (0)

Java

Spring Boot(一):快速开始

5

xiaoli.wang 发布于 2019-09-17

Spring Boot(一):快速开始 本系列文章旨在使用最小依赖、最简单配置,帮助初学者快速掌握Spring Boot各组件使用,达到快速入门的目的。全部文章所使用示例代码均同步Github仓库和Gitee仓库。 1. Spring Boot是什么? Spring Boot 是...

阅读(8)评论(0)赞 (0)

Java

可见性有序性,Happens-before来搞定

4

changyuan.xu 发布于 2019-09-17

写在前面 上一篇文章 并发 Bug 之源有三,请睁大眼睛看清它们 谈到了 可见性/原子性/有序性 三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 擅自 初衷是好的,但引发了新问题,最有效的办法就禁止缓存和编译优化,问题虽然能解决,但「又回到最初的起点,...

阅读(4)评论(0)赞 (0)

Java

Java性能 — 线程上下文切换

1

puefu.he 发布于 2019-09-16

在并发程序中,并不是启动更多的线程就能让程序最大限度地并发执行 线程数量设置太小,会导致程序不能充分地利用系统资源 线程数量设置 太大 ,可能带来资源的 过度竞争 ,导致 上下文切换 ,带来的额外的 系统开销 上下文切换 在单处理器时期,操作系统就能处理 多线程并发 任务,处理器...

阅读(13)评论(0)赞 (0)

Java

Java线程状态

16

Harries 发布于 2019-09-16

0 线程状态概述 分类 6个状态定义: java.lang.Thread.State New: 尚未启动的线程的线程状态。 Runnable: 可运行线程的线程状态,等待CPU调度。 Blocked: 线程阻塞等待监视器锁定的线程状态。 处于synchronized同步代码块或方...

阅读(9)评论(0)赞 (0)

Java

Synchronized 实现原理

20

xirruiqiang 发布于 2019-09-16

锁可以让临界区互斥执行,还可以让释放锁的线程向同一个锁的线程发送消息 锁的释放要遵循Happens-before原则(锁规则:解锁必然发生在随后的加锁之前) 锁在Java中的具体表现是 Synchronized 和 Lock 锁的释放 线程A释放锁后,会将共享变更操作刷新到主内存...

阅读(15)评论(0)赞 (0)

Spring

Spring Boot(一):快速开始

6

小丁 发布于 2019-09-16

本系列文章旨在使用最小依赖、最简单配置,帮助初学者快速掌握Spring Boot各组件使用,达到快速入门的目的。全部文章所使用示例代码均同步Github仓库和Gitee仓库。 1. Spring Boot是什么? Spring Boot 是由 Pivotal 团队提供的全新框架,...

阅读(16)评论(0)赞 (0)

Java

Motan系列-Motan的SPI插件扩展机制

1

小丁 发布于 2019-09-16

推荐一款一站式性能监控工具(开源项目) Pepper-Metrics 是跟一位同事一起开发的开源组件,主要功能是通过比较轻量的方式与常用开源组件(jedis/mybatis/motan/dubbo/servlet)集成,收集并计算metrics,并支持输出到日志及转换成多种时序数...

阅读(10)评论(0)赞 (0)

Java

【深入浅出-JVM】(75):class 装载

4

尖兵 发布于 2019-09-16

过程 装载 条件 主动使用 class时 创建一个类的实例 (new 、反射、克隆、反序列化) 调用类的静态方法(invokestatic) 使用类或接口的静态字段(getstatic、putstatic) 使用 reflect反射 初始化子类,先初始化父类 main方法的类 例...

阅读(10)评论(0)赞 (0)

Java

Java 线程生命周期

3

xiaoli.wang 发布于 2019-09-16

关注公众号 JavaStorm 在操作系统层面,线程也有 【生命周期】,这是并发编程的基础我们需要掌握其中 生命周期中各个节点的状态转换机制 以及持有锁状态。文本将会介绍系统的周期以及在 Java编程语言的生命周期区别。打通并发编程任督二脉需要将基本心法牢牢掌握。 通用的生命周期...

阅读(8)评论(0)赞 (0)