
java
文章平均质量分 63
鸡蛋卷啊卷
这个作者很懒,什么都没留下…
展开
-
【《架构整洁之道》 读书笔记1----从部署的角度看依赖翻转】
从部署角度看依赖翻转原创 2022-09-25 11:04:00 · 452 阅读 · 0 评论 -
修复线程池超过最大数量
线程池的抛弃策略,秒懂的烧烤店类比,如何修复线程池超出最大数量原创 2022-09-23 14:51:48 · 2491 阅读 · 0 评论 -
【异步-生产者消费者-Java】-SynchronousQueue-为啥capacity是0
【Java-并发】- SynchronousQueue与使用场景目的简化 线程间单个数据 的交换只能传递 1个 数据take、put会阻塞线程安全特点用于两个线程 交换数据支持 put、get,均为阻塞操作虽说是Queue,但element最多1个(且1个时,必然是生产者线程被阻塞了)1个线程put会被阻塞到 另一线程take,反之亦然代码github demo @Test public void synchronousQueueImplement原创 2020-12-12 21:27:48 · 350 阅读 · 0 评论 -
文件遍历异常Caused by: java.lang.StackOverflowError: stack size 1039KB
解决办法采用广度优先遍历原因最早用的深度优先遍历,递归操作。没想到居然有用户 目录套目录,套了 6562 层(你是测试派来的逗比吗。。。。)更改 private fun traverseFile(rootFile: File) { var checkFile: File? = rootFile val queue = ArrayDeque<File?>() queue.offer(checkFile) whi原创 2020-10-17 19:26:18 · 3843 阅读 · 2 评论 -
【组件化架构--1.1.0】SDK版本号命名规范
简化版本Google的太麻烦了,毕竟自己项目没那么大,有个简化的就好major-minor-bugfix-suffixalpha 接口不固定、功能实现中(开发中, 1.0.3-alpha)beta 接口固定、功能稳定(开发中, 1.0.3-beta)无后缀 正式发行版本 (1.0.0)Google Android版本举例1.0.0-alpha01修个bug1.0.1-alpha011.0.2-alpha021.0.2-beta011.0.2-rc011.0.2名称m原创 2020-07-26 18:05:46 · 985 阅读 · 0 评论 -
Regex提取符合的文本
RegexRegex默认为贪婪匹配加?来去除贪心匹配(最大的匹配范围)原文:My name is albert,<font color="red">Hello</font><font color="black">World,</font>It's i want to say.去除匹配regex的文本String.splite(regex)分割,得到数组["My name is albert,"; "It's i want to say"]//原创 2020-05-24 19:08:11 · 561 阅读 · 1 评论 -
Lock ReadWriteLock CyclicBarrier Semaphore【Java 并发】
LockLock是Java 5以后引入的新的APIReentrantLock可保证顺序、可查询阻塞Thread list、可设置超时、查询持有lock的Thread注意必须 主动unlock,退出Thread不会清空lockCyclicBarrier在await阻塞设置阻塞 的线程数从0递增 数值可以reset 数值到达最大值 放行,await()的Thread可b...原创 2020-04-27 18:09:56 · 132 阅读 · 0 评论 -
Java的方法名等class文件数据存在哪里,Java8之后的变化
ContextQQ上的发文,然后就一顿检索Java8之前变量名是存在heap中变量名存在class文件的的 constant pool(常量池)class file被load *** 一堆操作,存储在jvm的runtime-constant-pool(运行时常量池)运行时常量池属于method area(运行时常量池)method area属于heap中的Perm Gen(永久代)...原创 2019-10-30 17:37:51 · 1038 阅读 · 0 评论 -
Thread 的join
Java Thread中的join方法原创 2015-04-29 11:35:40 · 714 阅读 · 0 评论 -
从Android Handle看 线程与对象、ThreadLocal
最近面试,对线程有了更深的理解。问题:RuntimeException:Can't create handler inside thread that has not called Looper.prepare()。(不能在没有调用Looper.prepare()的线程内创建Handler)Looper.prepare()是为了创建Looper、MessageQueue。那为什么...原创 2016-04-27 12:42:23 · 694 阅读 · 0 评论 -
Android的finish后方法中的代码继续执行
Activity finish后仍旧运行的原理原创 2014-08-26 11:23:04 · 5860 阅读 · 2 评论 -
从Android Handler内部类到WeakReference的知识关联
讲解了为什么Handler应该是被static修饰,为什么普通的内部类会泄露外部类引用。原创 2014-11-01 08:55:51 · 2311 阅读 · 0 评论 -
Groovy语言中<<与普通创建的不同 (Gradle)
闭包中的 Action(行为)VS Configuration(配置)1.Actiontask hello << { println 'Hello World1'}gradle -b build.gradle helloHello World1Action类似于java方法,只在指定该task时 才会运行代码2.Configurat翻译 2015-03-17 10:23:30 · 731 阅读 · 0 评论 -
Jenkins File Parameter 拒绝访问
一直以为是权限问题,各种找没解决,居然是文件名问题。真TMD坑爹 。Jenkins 项目构建: 参数化构建过程-》File Parameter---》File Location : 必须写文件名,不能写目录如: File Location: test.jar...原创 2018-04-23 21:08:44 · 3144 阅读 · 2 评论 -
Message Digests和Digital Signature (信息摘要和数字签名的区别),MD5、RSA、SHA
翻译自http://www.diablotin.com/librairie/networking/puis/ch06_05.htmMessage Digest(信息摘要,也被称为cryptographic checksum校验和加密、cryptography hashcode哈希加密)就是一串数字,通过一个很难被逆向推到的公式 算出来的hash code。将不确定长度的输入(文原创 2015-08-17 19:39:56 · 4244 阅读 · 0 评论 -
Java正则表达式 去掉括号内任意字符
前言:刚开始以为 (.*) 就是括号内任意字符了,试了不行。错误点 1.括号需要转义(是正则表达式关键字) 2.不是任意字符,而是 除了右括号的任意字符String content = "i want to [thank] you [thank] very(dfljsj)nishishui"//String pattern = "\\[[^\\]]+\\]"; //中括号内...原创 2017-12-19 18:17:16 · 10309 阅读 · 0 评论 -
volatile作用、优缺点、原理
参数书籍:《Java性能优化权威指南》、《Java并发编程实战》结论:(先说结论)线程安全 字段(field、变量、数)层次 语句 (语句包含 字段)层次 volatile作用于变量层次,无法作用语句层次(加锁等确保) 所以volatile保证不了线程安全大白话(2020/01/30补充):CPU存储(寄存器、register、高速缓存),RAM(内存、内存...原创 2018-04-22 11:53:35 · 7987 阅读 · 0 评论 -
为何不推荐Java双重检测加锁(DCL)
########### 20190617更新DCL缺点1. 对象init有了内存地址,object != null,但是初始化还没完全,有属性没有被初始化:object.attribute == null,这样调用object.attribute就null point了。(声明为volatile可以解决)2. 变得复杂(volatile,两次判空),耗时(用了synchronized...原创 2018-04-22 12:49:43 · 2247 阅读 · 0 评论 -
Android-Java证书签名获取、代码运行时校验、鉴权
证书等的概念相关概念连接 简单说:keystore就是数据库,存着 证书(Certificate)证书 拥有人的信息(公司、住址、电话、官网)公钥(Public Key)证书的签名(MD5、SHA1、SHA256,各种摘要算法)AC机构(该证书授权的机构)获取证书指纹从KeyStore里获取证书 keytool -export -keystore you-key...原创 2018-06-01 19:12:43 · 2130 阅读 · 0 评论 -
ThredPool超时失败,不断的new新Thread
Context需求 只保留一个Thread,所以超时用了最大天数private Executor singleThread = new ThreadPoolExecutor(1, 1, Integer.MAX_VALUE, TimeUnit.DAYS, new LinkedBlockingQueue<Runnable>(1));但结果每次都是新的Thr...原创 2019-06-06 14:44:48 · 323 阅读 · 0 评论 -
Java wait notify与锁机制
调用notify后线程还运行吗?会立即释放锁吗?wait的线程会立即并发运行吗?为什么wait、notify的线程,需要持有锁?分析java 将wait、notify与锁机制融合,所以分析起来会比较懵逼。我们将其分解开。Demo仿照生产者、消费者,一个线程 吃苹果,一个 线程生产苹果。代码见最下。问题1 为什么融合锁假设没有锁机制:A线程判断是否有苹果没有苹果,准备进入wa...原创 2019-07-28 15:27:19 · 610 阅读 · 0 评论 -
JNI local reference table overflow
ContextJNI创建的reference太多,导致崩溃。具体查找 jString, jclass, jobject简要分析什么是Local referenceEvery argument passed to a native method, and almost every object returned by a JNI function is a “local reference”...原创 2019-08-28 12:27:12 · 1008 阅读 · 0 评论 -
java文件或目录删除方法,列表删除易错点
注意事项:1)删除目录时,目录下文件必须唯恐,否则无效。2)shanch原创 2014-04-30 09:18:24 · 849 阅读 · 0 评论 -
Java Security安全系列文档翻译笔记————KeyStore、密钥、证书、命令行实战
利用密钥、keystore做到文件交换的安全验证原创 2015-08-12 19:49:51 · 1342 阅读 · 0 评论 -
Java加密算法笔记
看完各种文档,终于理解加密体系了。这个学习过程中,一个帮助是java官网,还有java核心技术 卷二。公钥、私钥:这是一对有数学关系的两个数,公钥用于公开,私钥自己保留。公钥无法推算出私钥,私钥可以推算出公钥。公钥、私钥都可以加密,加密只是使用了一个数字。所以Java的程序实现是分为两步的,第一步生成Key值,第二部用加密算法加密。下面是个对称加密AES算法原创 2015-09-22 17:43:44 · 1133 阅读 · 0 评论 -
Java JVM 内部结构
java虚拟机中的内部数据结构,虚拟机栈、堆、运行时方法区、运行时常量池原创 2015-08-16 11:08:35 · 709 阅读 · 0 评论 -
Java8 Labmbda表达式
java8的新特性lambda表达式,文章翻译自java官网文档原创 2015-02-20 17:40:58 · 4232 阅读 · 0 评论 -
线程不安全的类型
看《JAVA并发实践》关于线程不安全类型原创 2014-10-12 03:10:50 · 1037 阅读 · 0 评论 -
Eclipse创建自己的快捷输入代码模板
只需两个字母lv ,帮助我们摆脱重复单调 Log.v(String ,String )和 import import android.util.Log;输入 。设置Eclipse 方法模板,实现自己的代码风格只写有思想的代码,屌丝程序猿逆袭必读。原创 2014-05-10 17:47:39 · 2491 阅读 · 0 评论 -
利用反射,创建Android的SQL语句,极大提高速率
所有表类的父类public class Table { public static final String prefix = "COLUMN_"; public static final String _ID = "_id"; public String TABLE_NAME; public String getTABLE_NAME() { return TABLE_NAME;原创 2014-06-03 10:20:53 · 855 阅读 · 0 评论 -
java.lang.ClassCastException: com.google.gson.internal.StringMap cannot
以下是问题代码:(这个方法主要是为了方便JASON的解析) public static List getGson(String json, Class cls) { Gson gson = new Gson(); List list; list = gson.fromJson(json, new TypeToken>() { }.getType()); return li原创 2014-03-29 14:59:01 · 3302 阅读 · 2 评论 -
java消除闪烁 双缓冲
private Image iBuffer; private Graphics gBuffer; public void paint(Graphics g) { g.drawRect(0, 0, 100, 100); } public void update(Graphics g) { if (iBuffer == null) { iBuffer = createIm转载 2014-02-06 20:02:23 · 1062 阅读 · 0 评论 -
img.getHeight(null);总为-1 图片高度总为-1
代码:URL url =GameUtil.class.getClass().getResource(path);Image img = Toolkit.getDefaultToolkit().getImage(url);int height = img.getHeight(null);问题: height == -1; 也就是没有图片。原因原创 2014-02-06 18:38:45 · 2597 阅读 · 0 评论 -
JFrame的repaint()出现图片重叠 与Frame方法差异性
利用线程调用repaint方法,实现动画小飞机的飞行问题: 图片出现重叠,而不是一张图片原因: Frame类 repaint()流程: ——> 调用repaint()原创 2014-01-29 20:11:48 · 3101 阅读 · 0 评论 -
动态获取JComboBox组件中的选项 年月日
/*我做的是年份的JComBox组件加了个监听器,使选中的item动态输出到console可以通过选中的item,来判断闰年,用于日份中2月是28还是29的判断evt.getSource(),这个是我的突破点啊*/public class Test extends JFrame {/*** @param args*/public Test原创 2013-07-16 20:55:48 · 2229 阅读 · 0 评论 -
Java Annotation注解
Java注解在Android框架中的应用,包括举例和总结原创 2015-02-26 18:57:23 · 1038 阅读 · 1 评论 -
Android程序优化-----JAVA类的生命周期
关于类的加载、虚拟机的构成,没写的以后再补充。按照自己的理解,表达下《深入理解JAVA虚拟机》的知识。原创 2015-02-13 18:23:59 · 1066 阅读 · 0 评论 -
java ClassLoader机制和如何加载外部class文件(含代码)
介绍了java是如何加载class文件的,和如何加载网络或硬盘上的class文件。ClassLoader的机制。原创 2015-03-04 13:53:03 · 15574 阅读 · 2 评论 -
Java Security安全系列文档翻译笔记————数字签名、keystore、证书
讲述Java关于证书、密钥、Keystore,已经如何获取CA的证书,什么是自签名。原创 2015-08-10 17:40:12 · 1737 阅读 · 0 评论 -
Java Security安全系列文档翻译笔记————PolicyFile
主要是针对运行java代码的用户而言。让Java代码运行在Secure Manager的管理下,只有在Policy File中声明的权限,代码才可以执行相应的操作,以此来建立一个沙箱。估计这也是Android的Permission授权机制也是这个哦。原创 2015-08-07 16:52:14 · 1439 阅读 · 0 评论