自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 锁的等级:方法锁、对象锁、类锁

锁的等级:方法锁、对象锁、类锁。对象锁(方法锁)是用来控制实例方法之间的同步,类锁是用来控制静态方法(或静态变量互斥体)之间的同步// 类锁:形式1public static synchronized void Method1()// 类锁:形式2public void Method2(){    synchronized (Test.class)    {  ...

2018-09-12 13:18:38 822

原创 java 生产者消费者模式

生产者消费者模式。public class Product { public int product = 0;       public final static int MAX = 999;       public final static int MIN = 0;       public synchronized void produce(){   ...

2018-09-12 13:18:30 163

原创 ThreadLocal的设计理念与作用

ThreadLocal的设计理念与作用。在JDK的早期版本中,提供了一种解决多线程并发问题的方案: java.lang.ThreadLocal类.ThreadLocal类在维护变量时,实际使用了当前线程(Thread)中的一个叫做ThreadLocalMap的独立副本,每个线程可以独立修改属于自己的副本而不会互相影响,从而隔离了线程和线程,避免了线程访问实例变量发生冲突的问题.Thread...

2018-09-12 13:18:22 441

原创 ThreadPool用法与优势

ThreadPool用法与优势。(1). 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线...

2018-09-12 13:18:13 1128

原创 Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等

Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。java.util.concurrent包分成了三个部分,分别是java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.lock。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、...

2018-09-12 13:18:06 391

原创 spring-data-redis increment方法

spring-data-redis increment方法主要是实现整数类型的自增的,可以通过该函数自己封装incr和decr方法。但是在使用如下方法获取自增的值得时候会报错ValueOperations<String, Object> valueOper=redisTemplate.opsForValue();valueOper.increment(key,1);O...

2018-09-12 13:17:57 5502

原创 Spring的注入方式--构造方法--解决需要在构造方法里面去初始化全局变量

构造方法注入public class UserService implements IUserService { private IUserDao userDao; public UserService(IUserDao userDao) { this.userDao = userDao; }}先看一段代码,下面的代码能运行成功吗?@...

2018-09-12 13:17:42 2144

原创 wait()和sleep()的区别

wait()和sleep()的区别。① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或...

2018-09-11 19:14:55 139

原创 反射的作用于原理

反射的作用于原理。一、 原理    简单的来说,反射机制其实就是指程序在运行的时候能够获取自身的信息。如果知道一个类的名称/或者它的一个实例对象, 就能把这个类的所有方法和变量的信息(方法名,变量名,方法,修饰符,类型,方法参数等等所有信息)找出来。如果明确知道这个类里的某个方法名+参数个数 类型,还能通过传递参数来运行那个类里的那个方法,这就是反射。    尽管Java不是一种动态语...

2018-09-11 19:14:44 1599

原创 解析XML的几种方式的原理与特点:DOM、SAX、PULL

解析XML的几种方式的原理与特点:DOM、SAX、PULL。XML的解析方式有很多,光开源的就有十多种:如Xerces、JDOM、DOM4J、XOM、JiBX、KXML、XMLBeans、jConfig、XStream、XJR等。但是最常用的还是sax、dom、pull、dom4j而android中用的比较多的是 sax(Simple APIs for XML)、dom(Documen...

2018-09-11 19:14:35 2298

原创 设计模式:单例、工厂、适配器、责任链、观察者等等

单列Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二...

2018-09-11 19:14:27 869

原创 java排序

1. 选择排序这个排序方法最简单,废话不多说,直接上代码:public class SelectSort {    /**     * 选择排序     * 思路:每次循环得到最小值的下标,然后交换数据。     * 如果交换的位置不等于原来的位置,则不交换。     */    public static void main(String[] args) { ...

2018-09-11 19:14:20 165

原创 线程同步的方法:sychronized、lock、reentrantLock等

线程同步的方法:sychronized、lock、reentrantLock等。如果你向一个变量写值,而这个变量接下来可能会被另一个线程所读取,或者你从一个变量读值,而它的值可能是前面由另一个线程写入的,此时你就必须使用同步。sychronizedJava语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,它是在 软件层面依赖JVM实现同...

2018-09-11 19:13:57 326

原创 实现多线程的两种方法:Thread与Runable

实现多线程的两种方法:Thread与Runable。实现多线程有两种方式:(自JDK1.5之后有三种,最后一种并不常用)(1).继承Thread类(2).实现Runnable接口(Callable接口)一个类如果实现了Runnable接口或者继承了Thread类,那么它就是一个多线程类,如果是要实现多线程,还需要重写run()方法,所以run() 方法是多线程的入口。但是在启动...

2018-09-11 19:13:45 1222

原创 Interface与abstract类的区别

 Interface与abstract类的区别。(01).abstract class 在Java中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。(02).在abstract class 中可以有自己的数据成员,也可以有非abstarct的方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static fina...

2018-09-11 19:13:34 619

原创 Override和Overload的含义和区别

Override和Overload的含义和区别。(1). Override 特点  (01)、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;  (02)、覆盖的方法的返回值必须和被覆盖的方法的返回一致;  (03)、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;(04)、方法被定义为final不能被重写。 (05)、对于继...

2018-09-11 19:13:25 2676

原创 Java面向对象的三个特征与含义

 Java面向对象的三个特征与含义。三大特征是:封装、继承和多态。封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在Java中能使用private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问该对象的属性和行为进行限制。继承是子对象可以继承父对象的属性和行为,亦即父对...

2018-09-11 19:13:15 898

原创 Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况

Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。 (1). ThrowableThrowable是 Java 语言中所有错误或异常的超类。Throwable包含两个子类: Error 和 Exception 。它们通常用于指示发生了异常情况。Throwable包含了其线程创建时线程执行堆栈的快照,它提供了printStackTrace()等接...

2018-09-06 20:31:48 444

原创 try catch finally,try里有return,finally还执行么

try catch finally,try里有return,finally还执行么?(1)、不管有木有出现异常,finally块中代码都会执行;(2)、当try和catch中有return时,finally仍然会执行;(3)、在try语句中,try要把返回的结果放置到不同的局部变量当中,执行finaly之后,从中取出返回结果,因此,即使finaly中对变量进行了改变,但是不会影响返回结...

2018-09-06 20:30:50 1562

原创 Collection包结构,与Collections的区别

Collection包结构,与Collections的区别。(1)java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection  ├List  │├LinkedList  │├A...

2018-09-06 20:30:23 2349

原创 TreeMap、HashMap、LindedHashMap的区别

TreeMap、HashMap、LindedHashMap的区别。Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;...

2018-09-06 20:29:53 764

原创 HashMap和ConcurrentHashMap的区别,HashMap的底层源码

HashMap和ConcurrentHashMap的区别,HashMap的底层源码。ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整...

2018-09-06 20:29:20 944

原创 HashMap和HashTable的区别

HashMap和HashTable的区别。HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(va...

2018-09-06 20:28:45 111

原创 Map、Set、List、Queue、Stack的特点与用法

Map、Set、List、Queue、Stack的特点与用法。Collection          接口的接口   对象的集合├ List             子接口      按进入先后有序保存   可重复│├ LinkedList     接口实现类   链表   插入删除   没有同步   线程不安全│├ ArrayList      接口实现类   数组   随机访问...

2018-09-06 20:28:12 487

原创 Hashcode的作用

Hashcode的作用。Hash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。关于散列值,有以下几个关键结论:1、如果散列表中存在和散列原始输入K相等的记录,那么K必定在f(K)的存储位置上2、不同关键字经过散列算法变换后可能得到同一个散列地址,这种现象称为碰撞3、如果两个Hash值不同(前提是同一Hash算法),那么这两个Hash值对应的...

2018-09-06 20:27:11 129

原创 java Object有哪些公用方法

Object有哪些公用方法?Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?(1)clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方...

2018-09-06 20:26:13 511

原创 java九种基本数据类型

九种基本数据类型的大小,以及他们的封装类。java提供了一组基本数据类型,包括boolean, byte, char, short,  int, long, float, double, void.同时,java也提供了这些类型的封装类,分别为Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void类...

2018-09-06 20:25:18 1056

flink自定义数据源源码

flink自定义数据源源码

2023-02-07

java模拟消息服务器发送消息

模拟消息服务器,通过队列实现消息排队发送,主要是邮件和短信都需要通过队列排队发送,邮件还有限制每分钟能发送的消息数量。

2017-07-08

spring boot 整合mybtis druid 多数据源 源代码

spring boot 整合mybtis druid 多数据源 源代码。

2017-06-27

阿里巴巴java开发手册

阿里巴巴java开发手册,主要讲java代码规范和数据库设计表设计的一些规范

2017-06-09

java面试题总结(二)

上次上传了一份java面试题之后,最近一段时间又收集了一批面试题

2017-06-01

java面试题总结 下载

附件是我整理的互联网公司java基础面试的一些基础知识的笔记,包括java基础,mysql索引,事务,多线程问题,高并发问题等。都是我自己辛辛苦苦整理的笔记和别人写的博客,希望对面试的小伙伴有帮助。

2017-05-16

jd-eclipse插件包

jd-eclipse是 eclipse反编译插件,比jadclipse插件好用多了。主要是安装方便

2016-07-07

仿微博界面-自己的微博

c#课上做的一个微博界面,实现了基本功能。

2013-08-29

数字图像处理源代码

数字图像处理的课程设计源代码 ,有需要的可以看看

2013-08-29

TortoiseSVN

TortoiseSVN_1.7,svn很好用的一个软件 。

2013-08-29

java邮件开发源代码

java邮件开发源代码,很给力,适合java初学者。

2012-03-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除