精彩博客

死磕 java同步系列之ReentrantLock VS synchronized——结果可能跟你想的不一样

问题 (1)ReentrantLock有哪些优点? (2)ReentrantLock有哪些缺点? (3)ReentrantLock是否可以完全替代synchronized? 简介 synchronized是Java原生提供的用于在多线程环境中保证同步的...

06/11 08:14
1K
4
线程池没你想的那么简单(续)

前言 前段时间写过一篇《线程池没你想的那么简单》,和大家一起撸了一个基本的线程池,具备: 线程池基本调度功能。 线程池自动扩容缩容。 队列缓存线程。 关闭线程池。 这些功能,最后也留下...

06/06 09:03
4.1K
6
死磕 java同步系列之ReentrantLock源码解析(二)——条件锁

问题 (1)条件锁是什么? (2)条件锁适用于什么场景? (3)条件锁的await()是在其它线程signal()的时候唤醒的吗? 简介 条件锁,是指在获取锁之后发现当前业务场景自己无法处理,而需要等...

06/03 00:17
475
0
死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 Reentrant = Re + entrant,...

06/02 00:45
1K
6
Spring Boot 2 快速教程:WebFlux 集成 Thymeleaf(五)

这是泥瓦匠的第105篇原创 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-4-thymeleaf 工程地址:见文末 前言 上一讲,我们用 MongoDB 来实现 WebF...

05/31 11:22
743
0
设计模式看了又忘,忘了又看?

设计模式收藏这篇就够了 耗时了 5 个月,终于把设计模式一整个系列写完。其实设计模式这一系列文章网上已经有很多非常好、非常优秀的文章,为什么要写呢? 一方面是为了学得更扎实,印象中设...

05/29 08:25
1K
10
开发函数计算的正确姿势 —— 移植 next.js 服务端渲染框架

首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准...

05/24 12:15
247
0
死磕 java同步系列之自己动手写一个锁Lock

问题 (1)自己动手写一个锁需要哪些知识? (2)自己动手写一个锁到底有多简单? (3)自己能不能写出来一个完美的锁? 简介 本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进...

05/23 22:45
823
0
Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第104篇原创 文章工程: * JDK 1.8 * Maven 3.5.2 * Spring Boot 2.1....

05/23 20:16
670
0
Go语言中的代码重用 - 继承还是组合?

故事要从我在一个项目中,想要假装的专业一点而遇到的一个陷阱说起。 代码重用 在这个项目中,我们已经有了类似如下的代码: package main import ( "fmt" ) func main() { user := &User{na...

05/23 10:35
553
4
简单实用的对象转换复制工具

一、概述 工作中经常会遇到这样的场景,需要把对象A中的变量复制到对象B中,这是一个枯燥又没有技术含量的工作,最繁杂枯燥的方法是先调用A对象的get方法将A中待复制的变量取出然后再调用B对...

05/22 16:11
348
2
程序兵法:Java String 源码的排序算法(一)

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第103篇原创 《程序兵法:Java String 源码的排序算法(一)》 文章工...

05/21 13:44
125
1
死磕 java同步系列之synchronized解析

问题 (1)synchronized的特性? (2)synchronized的实现原理? (3)synchronized是否可重入? (4)synchronized是否是公平锁? (5)synchronized的优化? (6)synchronized的五种使用方...

05/21 07:56
595
2
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

05/20 21:06
991
0
java 面试知识点笔记(十)多线程与并发-原理 上篇

问:线程安全问题的主要诱因? 存在共享数据(也称临界资源) 存在多条线程共同操作这些共享数据 解决方法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再...

05/20 14:33
187
0
在闲鱼,我们如何用Dart做高效后端开发?

背景 像阿里其他技术团队以及业界的做法一样,闲鱼的大多数后端应用都是全部使用java来实现的。java易用、丰富的库、结构容易设计的特性决定了它是进行业务开发的最好语言之一。后端应用中数...

05/20 10:50
3.9K
4
线程池没你想的那么简单

前言 原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得...

05/20 08:37
2.4K
7
死磕 java同步系列之volatile解析

问题 (1)volatile是如何保证可见性的? (2)volatile是如何禁止重排序的? (3)volatile的实现原理? (4)volatile的缺陷? 简介 volatile可以说是Java虚拟机提供的最轻量级的同步机制了...

05/19 23:12
340
1
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

05/19 23:07
2.4K
3
浅谈Java【代理设计模式】——看这篇文章就懂了

写在前面:设计模式源于生活,而又高于生活! 什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问。 为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用...

05/18 22:45
1K
7

没有更多内容

加载失败,请刷新页面

线程池没你想的那么简单(续)

前言 前段时间写过一篇《线程池没你想的那么简单》,和大家一起撸了一个基本的线程池,具备: 线程池基本调度功能。 线程池自动扩容缩容。 队列缓存线程。 关闭线程池。 这些功能,最后也留下...

06/06 09:03
4.1K
6
死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 Reentrant = Re + entrant,...

06/02 00:45
1K
6
在闲鱼,我们如何用Dart做高效后端开发?

背景 像阿里其他技术团队以及业界的做法一样,闲鱼的大多数后端应用都是全部使用java来实现的。java易用、丰富的库、结构容易设计的特性决定了它是进行业务开发的最好语言之一。后端应用中数...

05/20 10:50
3.9K
4
线程池没你想的那么简单

前言 原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得...

05/20 08:37
2.4K
7
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

05/19 23:07
2.4K
3
浅谈Java【代理设计模式】——看这篇文章就懂了

写在前面:设计模式源于生活,而又高于生活! 什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问。 为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用...

05/18 22:45
1K
7
程序员笔记|编写高性能的Java代码需要注意的4个问题

一、并发 Unable to create new native thread …… 问题1:Java中创建一个线程消耗多少内存? 每个线程有独自的栈内存,共享堆内存 问题2:一台机器可以创建多少线程? CPU,内存,操作系统...

05/10 15:09
2.2K
6
【奇思妙想】如何给网关设计一款专属的权限控制【责任链设计模式】

写在前面:设计模式源于生活,而又高于生活! 什么是责任链模式 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者...

05/09 23:37
1K
4
gitbook 入门教程之解决windows热加载失败问题

破镜如何贴花黄 gitbook 在 Windows 系统无法热加载,总是报错! gitbook 是一款文档编写利器,可以方便地 markdown 输出成美观优雅的 html ,gitbook serve 启动服务器后,原来相貌平平的 markdo...

05/08 21:29
940
2
经典设计模式之策略模式【如何重构聚合支付平台,对接【支付宝,微信,银联支付】】

写在前面:设计模式源于生活,而又高于生活! 为什么要使用设计模式重构代码 使用设计模式可以重构整体架构代码、提高代码复用性、扩展性、减少代码冗余问题。 Java高级工程师装逼的技能! ...

05/08 09:29
2.4K
5
最全的JAVA知识汇总(附讲解和思维导图)

微信公众号:内核小王子 关注可了解更多关于数据库,JVM内核相关的知识; 如果你有任何疑问也可以加我pigpdong[^1] jvm 一行代码是怎么运行的 首先,java代码会被编译成字节码,字节码就是jav...

04/29 11:52
3.2K
13
使用lombok编写优雅的Bean对象

使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。 毫无疑问,使用lombok,编写的java代码很优雅,而...

04/22 22:17
4.2K
21
len(x) 击败 x.len(),从内置函数看 Python 的设计思想

内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作。 它们预先定义在内置命名空间中,开箱即用,所见即所得。Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数...

04/21 20:24
2.4K
1
通过MySQL存储原理来分析排序和锁

出自公众号 内核小王子 先抛出几个问题 1.为什么不建议使用订单号作为主键? 2.为什么要在需要排序的字段上加索引? 3.for update 的记录不存在会导致锁住全表? 4.redolog 和 binlog 有什么区别...

04/10 19:21
4.3K
17
关于 JDK 9 中的 JShell,你应该了解的 10 件事

JShell 是在 JDK 9 中首次引入的,以 Kulla 实现的 Java Enhancement Proposal (JEP) 222 规范的一部分。很多编程语言如 JavaScript、Python、Ruby 等,提供了非常易用的命令行执行工具,但 ...

04/06 08:30
2.9K
6
J2Cache 两级缓存中的 Region 到底是什么东西?

不时有人来询问 J2Cache 里的 Region 到底是什么概念,这里做统一的解答。 J2Cache 的 Region 来源于 Ehcache 的 Region 概念。 一般我们在使用像 Redis、Caffeine、Guava Cache 时都没有 Re...

04/03 10:55
1K
1
Java和操作系统交互细节

出自公众号 内核小王子 结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示。...

03/28 11:27
6.1K
46
Android 整体设计及背后意义

阿里妹导读:现实工作中经常可以听到这样的说法:框架的升级带来协议性能的提升、编程模式的变革带来业务的飞跃...... 姑且不论这些表述是否有问题,实际上如果系统地看待事物整体,可能会有...

03/22 13:09
1K
2
一个线程罢工的诡异事件

背景 事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新。 虽然是前人写的代码,但作为 Bug maker&killer 只能咬着牙上了。 因...

03/13 08:32
2.4K
8
Python知识点:理解和使用装饰器 @decorator

我在我的个人博客“猿人学网站”和公众号“猿人学Python”上写Python教程,有兴趣的可以关注公众号和网站。 Python的装饰器(decorator)是一个很棒的机制,也是熟练运用Python的必杀技之一。...

03/12 09:53
1K
6

没有更多内容

加载失败,请刷新页面

基础工具类

package com.atguigu.util; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import com.alibaba.druid.pool.Druid...

今天 00:46
41
2
死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

昨天 23:33
6
0
手把手教你写一个RPC

1.1 RPC 是什么 定义:RPC(Remote Procedure Call Protocol)——远程过程调用协议 ,RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC...

昨天 21:58
9
0
springmvc 整体流程

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4...

昨天 17:09
4
0
在Javascript中Eval函数的使用

【eval()函数】 JavaScript有许多小窍门来使编程更加容易。 其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。 举个小例子: var the_unevaled_ans...

昨天 14:59
7
0
数组操作相关算法

/* 数组的相关的算法操作: 1、在数组中找最大值/最小值 */ class Test11_FindMax{ public static void main(String[] args){ int[] array = {4,2,6,8,1}; //在数组中找最大值 //类似于:猴子...

昨天 14:07
6
0
maven 子类使用父类中的依赖的两种方式(parent,import)

参考连接:https://blog.csdn.net/u011624903/article/details/87918800

昨天 11:33
13
0
PHP Xdebug调试专题

1、介绍与安装 Xdebug是一个PHP扩展,安装配置好后,可以自动记录运行了哪些函数,用了多少毫秒,从哪个文件运行到哪个文件等等 它记下来的调试信息很详细,对一些复杂程序跟踪调试有很大的辅助效...

昨天 11:05
6
0
死磕 java同步系列之Semaphore源码解析

问题 (1)Semaphore是什么? (2)Semaphore具有哪些特性? (3)Semaphore通常使用在什么场景中? (4)Semaphore的许可次数是否可以动态增减? (5)Semaphore如何实现限流? 简介 Semaph...

昨天 11:03
28
0
那些你可能不知道的视频下载奇技淫巧

之前已经写过好几篇的奇技淫巧系列了,今天说说怎么快速下载视频。 我平常经常看视频的网站就是爱奇艺,b站,微博,知乎,网易这些。 这里以微博为例,下载周杰伦的《晴天》,微博地址是 ht...

昨天 10:53
13
0
为什么加个注解@Transtaional就可以保证事务的一致性和完整性?

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www...

昨天 09:58
62
0
Java—System类入门学习

第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 //用于垃圾回收 public static void gc() //终止正在运行的java虚拟机。参数用作状态码,根据惯例...

昨天 08:43
10
0
来迟了,用Python助你叠猫猫,抢618大红包!

目录: 0 引言 1 环境 2 需求分析 3 前置准备 4 逛店铺流程回顾 5 代码全景展示 6 总结 0 引言 最近叠猫猫的活动可真是十分的火爆,每天小伙伴们为了合猫猫忙的可谓是如火如荼。为啥要叠猫猫...

昨天 07:17
40
0
汇编语言计算2^12保存在AX寄存器,并以十进制形式输出

一、计算2^12保存在AX中(王爽汇编语言第二版p100): mov cx,12 ;循环12次 mov ax,1 ;初始化AX s: add ax,ax loop s ;执行完loop后,要显示的数字2^12 已经在寄存器AX 二、AX寄存器以显......

昨天 00:39
3
0
深入分析 iter() 方法

前面我们有介绍过关于序列、可迭代对象、迭代器、生成器的概念,其中有提到过,如果实现了 _iter_() 和 _next_() 就是生成器,同时验证可迭代对象最好的方法是 iter(obj) 。 今天我们来介绍下...

昨天 00:11
4
0
PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例

PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例,在手机上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度,在电脑上鼠标滚轮为缩放,双击则顺时针旋转90度。 下面让我们来看看核心...

前天 21:54
21
0
我使出这“三板斧”(分段锁、哈希锁、弱引用锁)灭霸跑了......

有同学说,学了Java那么多锁,还是没能锁住灭霸,本文教你“三板斧”,锁灭霸足矣。 据说,没几个人能真正参透这“三板斧”的精髓,你是不是那个有缘人呢? 最近,在工作上碰见了一些高并发的...

前天 21:16
43
0
数组 和 集合的区别 尤其是ArrayList

ArrayList就是基于数组创建的容器类. 一、数组声明了它容纳的元素的类型,而集合不声明。 二、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展...

前天 19:24
4
0
Windows + VS Code搭建 Go 开发环境

想学golang也就是Go语言由来已久,但苦于不像Delphi、C#这等有现成的IDE,第一步就卡壳了。所幸网上资源丰富,在尝试后终于把环境搭起来了,在此做个记录以备忘。 安装 Git 安装Go Tools时需...

前天 18:35
62
0
聊聊 Python 的内置电池

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/XzCqoCvcpFJt4A-E4WMqaA (一) 最近,我突然想到一个问题:相比其它语言,有哪些概念或习...

前天 17:44
39
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部