Fork me on GitHub

随笔分类 -  Java

摘要:我发现一些同学在网络上有看不少synchronize的文章,可能有些同学没深入了解,只看了部分内容,就急急忙忙认为不能使用它,很笨重,因为是采用操作系统同步互斥信号量来实现的。关于这类的对于synchronize的污点,我打算帮它清洗下。 JVM锁优化 其实jdk1.6对锁的实现已经引入了大量的优化 阅读全文
posted @ 2018-12-01 10:10 Jeby Sun 阅读(743) 评论(0) 推荐(0)
摘要:在Java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式,这里记录一下单例的几种写法和优缺点。 初级写法 懒汉式 饿汉式 双锁检验 内部类 枚举式 1.初级写法 public class Singleton { private static Singleton s 阅读全文
posted @ 2018-11-28 23:00 Jeby Sun 阅读(3949) 评论(0) 推荐(0)
摘要:前言 平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条: 可见线程池的重要性。 简单来说使用线程池有以下几个目的: 线程是稀缺资源,不能频繁的创建。 解耦作用;线程的创建于执行完全分开,方便维护。 应当将其放入一个池子中,可以给其他任务进行复用。 阅读全文
posted @ 2018-08-04 09:19 Jeby Sun 阅读(828) 评论(1) 推荐(1)
摘要:泛型是什么 一说到泛型,大伙肯定不会陌生,我们代码里面有很多类似这样的语句: ArrayList就是个泛型类,我们通过设定不同的类型,可以往集合里面存储不同类型的数据类型(而且只能存储设定的数据类型,这是泛型的优势之一)。“泛型”简单的意思就是泛指的类型(参数化类型)。想象下这样的场景:如果我们现在 阅读全文
posted @ 2018-08-03 12:06 Jeby Sun 阅读(259) 评论(0) 推荐(0)
摘要:一、递归的概念 众所周知,在一个方法里可以调用一个或者多个方法。那么,一个方法是否可以调用其自身呢?没错,方法调用其自身的过程就是递归。二、递归应用案例 1.阶乘 最简单的一个递归的应用是计算一个数的阶乘。阶乘的公式: n!=n*(n-1)*(n-2)*...1. 例如:5!=5*4*3*2... 阅读全文
posted @ 2015-03-24 19:44 Jeby Sun 阅读(474) 评论(0) 推荐(0)
摘要:引子 今年中秋闲在家,总要找点事做。 前几天开始学python,很早之前就有计划拿下这门语言了,可惜一直拖到现在……不可否认,我也是个拖沓症患者。在学习python的过程中,我很想了解这门语言适合做什么,能做什么,然后,从互联网海量信息中得知,python不仅适合作为程序员学习第一门语言,也... 阅读全文
posted @ 2014-09-13 20:51 Jeby Sun 阅读(3270) 评论(14) 推荐(4)
摘要:之前用按键精灵写过一些游戏辅助,里面有个函数叫FindPic,就是在屏幕范围查找给定的一张图片,返回查找到的坐标位置。 现在,Java来实现这个函数类似的功能。 算法描述:屏幕截图,得到图A,(查找的目标图片为图B);遍历图A的像素点,根据图B的尺寸,得到图B四个角映射到图A上的四个点;得到... 阅读全文
posted @ 2014-09-13 16:10 Jeby Sun 阅读(17459) 评论(5) 推荐(0)
摘要:Java原生API并不支持为应用程序设置全局热键。要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C/C++的javaer来说,有点困难。不过幸好,国外有人已经实现了,发布成第三方java包,借此,我们可以很方便的设置全局热键而不用编写任何C/C++代码。 ... 阅读全文
posted @ 2014-09-13 13:55 Jeby Sun 阅读(8015) 评论(2) 推荐(0)
摘要:默认的,Frame或者JFrame自身已经实现了鼠标拖拽标题栏移动窗口的功能。 只是,当你不满意java的JFrame样式,隐藏了标题栏和边框,又或者干脆直接使用JWindow,那你又该怎么实现鼠标拖拽移动窗口的目的呢?最开始,我简单的在mouseDragged方法里frame.setLoca... 阅读全文
posted @ 2014-09-13 11:51 Jeby Sun 阅读(8582) 评论(0) 推荐(0)
摘要:用Java的类Robot截图及图片剪裁。 阅读全文
posted @ 2014-09-13 01:42 Jeby Sun 阅读(8830) 评论(0) 推荐(1)