深刻理解JAVA并发中的有序性问题和解决之道
问题 Java并发情况下总是会遇到各种意向不到的问题,比如下面的代码: int num = 0; boolean ready = false; // 线程1 执行此方法 public void actor1(I_Result r) { if(ready) { r.r1 = num + num; } ...
前端开发:4、JavaScript简介、变量与常量、数据类型及内置方法、运算符、流程控制、循环结构、内置方法
前端开发之JavaScript 一、JavaScript简介 Javascript(简称‘JS’),是一门解释型编程语言,主要用于Web、和浏览器中网页中的动态渲染 是一门前端工程师的编程语言,相比于python它的逻辑并不是那么严谨 二、JS基础 语法注释 单行注释 //注释内容 多行注释 ...
Java学习十二
一.小结 1.每个容器都有一个布局管理器,它按照所需的位置在容器中定位和放置组件。三个简单且常用的布局管理器是FlowLayout、GridLayout和BorderLayout。 2.可以将JPane1作为子容器来将组件分组以得到所需的布局。 ·使用add方法将组件放到JFrame和JPanel。 ...
乐观锁思想在JAVA中的实现——CAS
更多技术干活尽在个人公众号——JAVA旭阳 前言 生活中我们看待一个事物总有不同的态度,比如半瓶水,悲观的人会觉得只有半瓶水了,而乐观的人则会认为还有半瓶水呢。很多技术思想往往源于生活,因此在多个线程并发访问数据的时候,有了悲观锁和乐观锁。 悲观锁认为这个数据肯定会被其他线程给修改了,那我就给它上锁 ...
你还只会用 AtomicXXX ?!恭喜你,可以下岗了!
在之前的文章中,栈长介绍了 LongAdder 的使用,性能实在太炸了,你还在用 AtomicInteger、AtomicLong 吗?如果你还不知道 LongAdder,赶紧看我之前写的那篇文章。 上次也提到了,在 JDK 8+ 中的 atomic 包下,还有另外一个兄弟类:LongAccumul ...
自从用了 OkHttp,别的都完全不想用了!
Java封装OkHttp3工具类,适用于Java后端开发者。 说实在话,用过挺多网络请求工具,有过java原生的,HttpClient3和4,但是个人感觉用了OkHttp3之后,之前的那些完全不想再用了。 怎么说呢,代码轻便,使用起来很很很灵活,响应快,比起HttpClient好用许多。当然,这些是 ...
如何理性看待国内大热的HuTool工具包
一、序言 关于HuTool工具包,相信很多技术朋友都听说甚至使用过。在HuTool之前,已经有比较成熟的工具包比如Apache Common包,谷歌推出的Guava包,他们已经在全世界大范围使用了。 究竟是什么原因导致HuTool有后来居上的趋势,传统的工具包对于国内开发者来讲劣势在哪里呢,不妨来扒 ...
Web入门:JavaScript文字动画
欢迎来的我的小院,恭喜你今天又要涨知识了! 案例内容 利用JavaScript实现文字逐步展现的动画效果。 演示 学习 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>小院里的霍大侠</title> </ ...
异步编程
一、什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题? 回调函数概念 回调函数是一个作为变量传递给另一个函数的函数,它在主体函数执行完之后再执行 回调函数特点 你定义的 你没有调用 但是最终执行了 回调函数可能的缺点 层层嵌套的异步函数的操作叫做回调地狱 容易写出回调地狱 不能使用 try ...
Java8新特性之方法引用
本文主要介绍方法引用的5种形式:对象的非静态方法引用、类的静态方法引用、类的非静态方法引用、构造器的引用、数组的引用。 ...
JDBC简介
1 JDBC简介 JDBC概念 JDBC就是使用Java语言操作关系型数据库的一套API。 全称:(Java DataBase Connectivity ) Java 数据库连接 JDBC本质 官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口 各个数据库厂商去实现这套接口,提供数据库驱 ...
每日算法之栈的压入、弹出序列
JZ31 栈的压入、弹出序列 描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序 ...