加载中
Synchronized锁在Spring事务管理下,为啥还线程不安全?

开启10000个线程,每个线程给员工表的money字段【初始值是0】加1,没有使用悲观锁和乐观锁,但是在业务层方法上加了synchronized关键字,问题是代码执行完毕后数据库中的money 字段不是10000...

06/21 11:21
7
synchronized到底锁住的是谁?

题目:利用5个线程并发执行,num数字累计计数到10000,并打印。 1 /** 2 * Description: 3 * 利用5个线程并发执行,num数字累加计数到10000,并打印。 4 * 2019-06-13 5 * Created with OKev...

06/19 14:44
35
高级 Java 必须掌握:JVM 分析工具和查看命令,超详细

jinfo 可以输出并修改运行时的java 进程的opts。 jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat 一个极强的监视VM内存工具。...

06/13 15:00
63
凭借这 10 大算法,就可以主宰世界

文章开始呢,我们需要弄明白“算法”的定义。 什么是算法呢? 简单的说,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。 换句话说,算法是用来解决特定问...

@Autowired的使用:推荐对构造函数进行注释

在编写代码的时候,使用@Autowired注解是,发现IDE报的一个警告,如下: Spring Team recommends "Always use constructor based dependency injection in your beans. Always use assertio...

06/06 14:47
77
「面试现场」如何在10亿数中找出前1000大的数

【面试现场】 题目:如何在10亿数中找出前1000大的数? 小史:我可以用分治法,这有点类似快排中partition的操作。随机选一个数t,然后对整个数组进行partition,会得到两部分,前一部分的数...

高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?

如果投递出去的消息在网络传输过程中丢失,或者在RabbitMQ的内存中还没写入磁盘的时候宕机,都会导致生产端投递到MQ的数据丢失。 而且丢失之后,生产端自己还感知不到,同时还没办法来补救。...

SpringBoot 2.x ShardingSphere分库分表实战

一. 项目需求 在之前我做项目的时候,数据量比较大,单表千万级别的,需要分库分表,于是在网上搜索这方面的开源框架,最常见的就是mycat,sharding-sphere,最终我选择后者,用它来做分库分表比较...

初探性能优化:2个月到4小时的性能提升

一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全。让我这个编程小白学到了很多性能优化的知识,或者说一些思考方式。真的感受到任何一...

编码不规范,同事真的会两行泪?

案发现场 我们在Dubbo中定义一个接口,这个接口采用上方说的欺骗性的命名方式,这个getFeiChaoInfo()中并没有返回值。 好了,然后我们将这个服务暴露,然后启动。按照肥朝之前的观念,命名不...

困扰多年的Java泛型 extends T> super T>,终于搞清楚了!

一、为什么要用通配符和边界? 使用泛型的过程中,经常出现一种很别扭的情况。 比如我们有Fruit类,和它的派生类Apple 然后有一个最简单的容器:Plate类 盘子里可以放一个泛型的”东西” 我们...

05/30 11:25
49
MySQL 巨坑:永远不要在 MySQL 中使用 UTF-8

最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: ‘😃 <…’ for column ‘summary’ at...

05/29 11:02
27
面试中的 10 个坑,你踩过几个?看完吊打面试官

1、请你做一个自我介绍 误区: 一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。 要点: 简历上有的可以一两句话带过,重点回答面试官关心的问题,那就是求...

05/28 14:16
15
炸!亿级数据DB秒级平滑扩容

一步一步,娓娓道来。 一般来说,并发量大,吞吐量大的互联网分层架构是怎么样的? 数据库上层都有一个微服务,服务层记录“业务库”与“数据库实例配置”的映射关系,通过数据库连接池向数据...

Spring中的18个注解,你会几个

@Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. 1@Controller 2public class TestController { 3 @RequestMapping("/test") 4 public String test(M...

05/23 16:02
23
这 17 个 JVM 参数,高级 Java 必须掌握

前言 大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫...

05/22 19:11
27
一次性搞清楚equals和hashCode

前言 在程序设计中,有很多的“公约”,遵守约定去实现你的代码,会让你避开很多坑,这些公约是前人总结出来的设计规范。 Object类是Java中的万类之祖,其中,equals和hashCode是2个非常重要...

05/21 11:13
5
Kafka 日志存储

在进行详解之前,我想先声明一下,本次我们进行讲解说明的是 Kafka 消息存储的信息文件内容,不是所谓的 Kafka 服务器运行产生的日志文件,这一点希望大家清楚。 Kafka 消息是以主题为单位进...

05/17 16:51
4
不了解这12个语法糖,别说你会Java!

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解这些语法糖背后的原理 语法糖 语法糖(S...

05/16 14:27
57
为啥总在凌晨上线,如何无损发布

为什么很多公司升级系统,选择在晚上上线? 答:美名其曰,晚上上线,对用户影响最小。 为什么会对用户产生影响? 答:系统升级往往需要重启,重启的过程中,正在访问的用户会访问失败。 如果...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部