java
文章平均质量分 56
空白的泡
做过很多东西,学过很多东西。
希望自己不要成为碌碌无为的人!
展开
-
Java注解详解
java注解原创 2022-07-02 19:49:54 · 1101 阅读 · 0 评论 -
线程的状态转换以及基本操作
线程的状态转换以及基本操作https://www.jianshu.com/p/f65ea68a4a7f原创 2020-11-21 14:12:49 · 101 阅读 · 0 评论 -
并发编程 五、 悲观锁 乐观锁
https://mp.weixin.qq.com/s/WtAdXvaRuBZ-SXayIKu1mA转载 2020-11-19 19:56:27 · 97 阅读 · 0 评论 -
并发编程 四、 synchronized 原理
转载https://www.zhihu.com/question/57794716/answer/606126905 什么是“锁”?“锁”到底长啥样? 它锁定的是线程代码还是其他什么东西?synchronizedava对象的构成在 JVM 中,对象在内存中分为三块区域:对象头 Mark Word(标记字段):默认存储对象的HashCode,分代年龄和锁标志位信息。它会根据对象的状态复用自己的存储空间,也就是说在运行期间Mark Word里存...转载 2020-11-19 19:48:30 · 94 阅读 · 0 评论 -
并发编程 三、 Java memory mode
转载 :https://www.cnblogs.com/dolphin0520/p/3920373.htmlhttp://www.mamicode.com/info-detail-3016647.html一、寄存器缓存内存硬盘其他cpu访问快慢的速度:寄存器>缓存>内存>硬盘>其他寄存器 寄存器(Register)是中央处理器内用来暂存指令、数据和地址的电脑存储器。寄存器的存贮容量有限,读写速度非常快。在计算机体系结构里,寄存器存储在已知时间点...转载 2020-11-19 19:36:11 · 477 阅读 · 0 评论 -
并发编程 二 、volatile
一、 什么是 Volatile ? Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程 volatile 是一个类型修饰符。volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比sychronized关键字更轻量级的同步机制。二、 Volatile 的特性? (1)可见性:是指线程之间的可见性,一个...原创 2020-11-18 14:44:39 · 233 阅读 · 2 评论 -
线程安全 一、synchronized 同步锁
线程安全可以概括为三个方面:原子性、可见性和有序性。一、synchronized是什么synchronized是Java中的关键字,是一种同步锁二、synchronized能做什么synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,确保线程互斥的访问同步代码三、synchronized的特性1.1 原子性(指一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行)在Java中,对基本数据类型的变量的读...原创 2020-11-16 20:15:31 · 346 阅读 · 0 评论 -
java : sleep , wait, synchronize
今天提交代码 发现在 public void synchronized aaa()但是代码检测工具提示, 不让使用 Thread.sleep(2), 说让替换成 wait所以专门又研究了一下区别场景: Wait 通常被用于线程间交互/通信,sleep 通常被用于暂停执行。一、seelp 和 wait sleep()是Thread类的方法 sleep方法没有释放锁,不出让系统资源 PS: 即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线...原创 2020-09-08 21:34:55 · 219 阅读 · 0 评论 -
Java四种线程池 newCachedThreadPool ,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor1、new Thread的弊端 1 2 3 4 5 6 7 newThread(newRunnable() { @O...转载 2020-03-24 21:39:39 · 4223 阅读 · 0 评论 -
【java并发核心一】Semaphore 的使用思路
1、Semaphore的初步使用 Semaphore 是 synchronized 的加强版 作用是: 控制线程的并发数量。就这一点而言,单纯的synchronized 关键字是实现不了的。package com.cd.concurrent.semaphore;public class MyThread extends Thread { priv...转载 2019-09-19 15:19:43 · 276 阅读 · 0 评论 -
java.nio.ByteBuffer的flip、rewind和compact几个方法的区分使用
java.nio.ByteBufferCapacity 缓冲区最大容量Limit 当前最大使用量,或者说是有效数据的EOF位置。Position 指向当前位置的指针假设一个缓冲区容量是10,开始指针指向0,即position=0。然后写入6个字节数据,写完后,下标0、1、2、3、4、5有数据,指针指向6,即当前position=6。此时,用limit(6)方法将当前位置...转载 2019-09-11 14:08:57 · 762 阅读 · 0 评论 -
Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
https://blog.csdn.net/liuhaomatou/article/details/41075701一、简单的网络知识1、网络模型:①、OSI/RM(Open System Interconnection Reference Model开放式系统互连基本参考模型),是由ISO(International Standards Organization国际标准化组织)提出的网络参考模型...转载 2018-06-27 09:37:55 · 476 阅读 · 0 评论 -
Java 通过 Runtime 在 android 中执行一些操作
linux runtime pm机制的深入理解 https://blog.csdn.net/linux_devices_driver/article/details/38092115Java 可以通过 Runtime 调用Linux命令 : Runtime.getRuntime().exec(command)调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process...原创 2018-05-25 17:33:29 · 2978 阅读 · 0 评论 -
java.util.concurrent详解 BlockingQueue
http://www.cnblogs.com/end/archive/2012/10/25/2738497.html7.BlockingQueue “支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用。“ 这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockingQueue 和Array转载 2018-01-08 17:23:50 · 365 阅读 · 0 评论 -
java 队列
java 队列https://www.cnblogs.com/end/archive/2012/10/25/2738493.htmlQueue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口,Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Q转载 2018-01-08 16:56:05 · 302 阅读 · 0 评论 -
String 字符分割
java 字符分割split and StringTokenizer以前 split 用的只是很简单的情况,首先记住很重要。 不指定分割符的时候,默认分隔符 是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,原创 2017-06-14 17:53:07 · 3108 阅读 · 0 评论 -
Java RandomAccessFile
今天自己总结一下 RandomAccessFile: 出错一些例子就从网上直接拿来了Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。RandomAccessFile的对象包含一个记录指针,用于标识当前流的读写位置,这个位置可以向前移动,也可以向后移动。RandomAcce原创 2013-09-23 22:49:39 · 5235 阅读 · 2 评论 -
java 抽象类 与 接口
转载一篇文章,写的挺不错的。 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和in转载 2014-03-04 14:22:57 · 753 阅读 · 0 评论 -
worktile
团队协作工具https://worktile.com/原创 2015-04-29 11:13:59 · 944 阅读 · 0 评论 -
关于写接口 FastJson 输出json结果集 大小写问题
最近因为本来给我们 android组写接口的 java同事 去 搞公司的 云平台 大数据去了, 所以 接口这个东西 我们组也就只能自食其力辣。 然后 项目 移交给我, 就熟悉了一下 后台整体的框架是用到的是 springMVC 然后就是 输出 json嘛。。 因为原来用到的都是 gson 这个lib辣。 但是他这个项目里用的是 fa原创 2015-06-24 10:11:50 · 5033 阅读 · 0 评论 -
sql 表连接基本语法
SQL连接可以分为内连接、外连接、交叉连接。1.内连接:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。1.1 select * from Table1 as a, Table2 as b where a.id= b.id1.2 select * from Table1 as a inner join Table2 as b on a.id = b.i原创 2015-07-30 17:37:24 · 2059 阅读 · 0 评论 -
WeakHashMap
WeakHashMap public class WeakHashMap转载 2015-07-22 18:42:23 · 462 阅读 · 0 评论 -
JAVA8 十大新特性详解
转载:http://www.jb51.net/article/48304.htm一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 复制代码 代码如下:interface Formula { double calculate(int a); default double s...转载 2015-11-12 16:51:14 · 544 阅读 · 0 评论 -
用Java 8 lambda优化JDBC
本教程源码下载 https://github.com/jexenberger/lambda-tuples首先创建一个函数接口ResultSetProcessor :@FunctionalInterface public interface ResultSetProcessor {public void process(ResultSet resultSet,转载 2015-11-12 16:30:48 · 1092 阅读 · 0 评论 -
Java8教程
在本教程中主要讲解Java 8新的函数式编程功能,熟悉这些新的 API:streams, 函数接口, map扩展和新的日期API。接口的缺省方法Java 8让我们能够增加非抽象方法实现到一个接口中, 使用default,这个特点就是 Extension Methods.interface Formula {double calculate(int a); default double sqrt(i转载 2015-11-12 16:27:56 · 383 阅读 · 0 评论 -
使用Java8的Lambda实现的一个简单案例
考虑下面这个场景:某个操作有预先处理和事后处理两个前后处理,这个操作执行依赖预期行为,预先处理释放出这个操作需要的参数,而事后处理做必要的清理工作。首先,我们看看如何通过内部类来实现,首先定义一个接口表达需求的行为:interface OldPerformer {public void performTask(String id, int status);} 下面是预先处理Pre-Processi转载 2015-11-12 16:32:38 · 710 阅读 · 0 评论 -
lamda (java 8) 表达式
实现Runnable线程案例使用() -> {} 替代匿名类://Before Java 8: new Thread(new Runnable() { @Override public void run() { System.out.println(“Before Java8 “); } }).start();//Java 8 way: new转载 2015-11-12 16:03:39 · 956 阅读 · 0 评论 -
java串口通信
ava串口通信API说明 java串口通信 2008/09/22 20:24 java串口通信API说明 java串口通信 Java提供了 CommunicationAPI(包含于javax.comm包中)用于通过与机器无关的方式,控制各种外部设备。Communications API,是标准的Java的扩展部分,它在JavaAPI中是没有附带的。因此,必须先在SUN公司网站的Java转载 2015-12-03 16:38:34 · 606 阅读 · 0 评论 -
mvc mvp mvvm
转载: http://zhangzhaoaaa.iteye.com/blog/2249899 Javascript中的MVC,MVP,MVVM总结 MVC是一种架构设计模式,它通过关注点分离鼓励改进应用程序组织。它强制将业务数据(Model)与用户界面(View)隔离,第三个组件(Controller)仍然管理逻辑和用户输入。这种模式是Smalltalk-80的研究期间设计出来的转载 2016-02-29 11:36:59 · 435 阅读 · 0 评论 -
与(&)、非(~)、或(|)、异或(^)
http://blog.csdn.net/is_zhoufeng/article/details/8112199位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符与运算符用符号“&”表示,其使用规律如下: 两个操作数转载 2017-05-04 19:46:47 · 12829 阅读 · 2 评论 -
java 新 IO 的运用
JDK1.4开始,加入了java.nio.*包,在这个包中加入了新的JAVA I/O类库,以便加快I/O操作的速度。在nio中读写之所以提高,只要是采用了更接近操作系统执行I/O操作的结构——通道和缓冲区。在《Thinking in Java》中有举了一个例子来说明通道和缓冲区的作用。 可以想象一个煤矿,通道时一个包含煤层(数据)的矿藏,而缓冲区则是派送到矿藏的卡车。卡车转载 2013-10-06 16:39:36 · 1138 阅读 · 0 评论