- 博客(21)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 【ActiveMQ】ActiveMQ在Spring Boot下使用
1.activemq服务端安装下载apache-activemq-5.15.3:wget http://mirror.bit.edu.cn/apache//activemq/5.15.3/apache-activemq-5.15.3-bin.tar.gz解压tar -zxvf apache-activemq-5.15.3启动./activemq start连接管理界面(需关闭linux防火墙:
2018-04-24 21:08:18 586
原创 【Java设计模式】观察者模式
适用于消息订阅,通知发布等场景: //被观察者 public interface Observed { /** * 注册观察者 * @param o * 观察者 */ void registerObserver(Observer o); /** * 移
2018-04-20 12:36:05 175
原创 【Java设计模式】建造者模式builder
1.一次性传入所有参数例如对于一个有5个参数的类: public class Obj{ A a; B b; C c; D d; E e; public Obj(A a,B b,C c,D d,E e){ this.a = a; this.b = b;
2018-04-20 10:30:26 199
原创 【SpringBoot】单元测试
@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)public class TestUserController { @Autowired private TestRest
2018-04-19 20:27:00 305
原创 【Java】父类子类初始化问题
父类子类初始化问题例子: public class Test8 extends Base{ private String name = "dervied"; public Test8() { tellName(); printName(); } public void...
2018-04-18 11:46:56 2959
原创 【Java并发】synchronized锁住的内容
synchronized用在方法上锁住的是什么?锁住的是当前对象的当前方法,会使得其他线程访问该对象的synchronized方法或者代码块阻塞,但并不会阻塞非synchronized方法。synchronized(this)锁住的是什么?锁住的是当前的对象。当synchronized块里的内容执行完之后,释放当前对象的锁。同一时刻若有多个线程访问这个对象,则会被阻塞。synchronized(ob
2018-04-13 17:03:45 4318 5
原创 【JavaWeb】利用SpringAOP和redis做缓存
SpringAOPSpringAOP的切点面向切面,即在一个切点前后执行某些操作。切点定义格式:例如定义test包下Controller的test()方法为一个切点: @Pointcut("execution(* test.AppController.test(*))") public void pointCut(){}SpringAOP定义了5种...
2018-04-11 21:28:08 674
原创 【深入Java基础】序列化和反序列化
序列化对象Java中的对象是伴随jvm而存在的,当虚拟机运行结束后,这些对象也随即被释放,当我们需要将这些对象保存时,就需要序列化这些对象(保存为文件存在磁盘上)要实现序列化,则需要类实现Serializable接口。如下,C类实现了Serializable接口,则这个类是可序列化的。 class C implements Serializable{ ...
2018-04-09 15:55:33 268
原创 【Java】Java反射笔记
反射的作用在运行时获取类的信息。如果没有反射,则需要由new创建对象,在代码里写死了,若需要使用不同的类型,就需要修改代码来,执行不同的操作。例子1:如果有一个简单的工厂模式: interface Inter{ void doSomething(); } class AA implements Inter{ @Ove...
2018-04-08 19:22:38 230
原创 【Java】反射实现Json对象转化为指定类型对象
public class Main { public static void main(String[] args){ JSONObject jo = new JSONObject(); jo.put("a",1); //jo.put("b","hello"); try { Ob ob = (Ob)Jso
2018-04-08 16:21:06 3024
原创 【jvm】GC笔记(一)
什么是垃圾回收(GC)?垃圾回收是为了释放那些不在被使用的独享以释放存储空间,提高程序效率。什么时候需要GC?当一个对象变得不可达(对象已死)的时候可以回收。什么是不可达呢?就是一个对象没有在任何地方被引用,则它就是不可达的,可以被回收的。怎么判断对象是活的还是死的(不可达的)?1.通过引用计数计数器为对象设置一个应用计数器,当该对象被引用时,计数器加1...
2018-04-07 16:14:43 220
原创 【jvm】运行时数据区笔记
运行时数据区运行时数据区包含5个部分:程序计数器:可以理解为存放当前线程执行的字节码的行号。虚拟机栈:在每个方法被调用时,都会在虚拟机栈里存放一个栈帧,里边存放了局部变量表、操作、方法出口等内容。- 本地方法栈:和虚拟机栈作用相似,但是是用来处理Navite方法的。以上3个是线程私有的数据区。堆:存放对象实例实例。在虚拟机启动时创建。是GC主要处理的地方。方法区:存放已被虚拟机加载的类信
2018-04-07 16:13:35 197
原创 【深Java基础】Java设计模式——代理
代理什么是代理?代理就是通过一个中间组件将两个不同的两个模块联系起来,使得两个模块不必知道彼此的详细实现细则,和中间件类似。这里两个组件一般是只接口和接口的实现类。代理的作用?可以隐藏委托类(被代理的类)的实现;可以实现客户与委托类间的解耦,在不修改委托类代码的情况下能够做一些额外的处理。静态代理若代理类在程序运行前就已经存在,那么这种代理方式被成为静态代理...
2018-04-06 16:56:44 264
原创 【深入Java基础】for和foreach的区别
for适合随机访问,例如底层是数组实现的情况。(ArrayList和Vector等)foreach适合顺序访问,例如底层是链表实现的情况。(LinkedList等)foreach无法获取迭代的索引。使用foreach遍历集合时,集合必须实现了Iterator接口。
2018-04-06 09:46:29 839
原创 【数据结构与算法】二叉排序树Java实现
Java二叉排序树: import java.util.ArrayList; import java.util.Comparator; import java.util.List; /** * 二叉排序树 * @author wxg */ public class BST<E>{ priva...
2018-04-05 20:43:33 538
原创 【Redis】Redis的安装与使用
redis安装下载:https://github.com/MicrosoftArchive/redis/releases选择3.0版本的,3.2版本安装失败,redis-server启动报错,不知为何。解压:将下载的压缩包解压至指定目录。配置环境变量:在系统环境变量PATH中添加上一步解压的文件目录。启动服务器:win+R运行cmd,输入redis-server,出现下图,...
2018-04-02 20:18:45 367
原创 【Java并发】Executor笔记
Executor基于生产者-消费者模式,用于异步处理线程(提交、执行等)。Executor里有一个excute(Runnable)方法,用于执行线程。ExecutorServiceExecutorService继承于Executor,也是一个接口,它主要有以下方法: execute(Runnable)//执行Runnablesubmit(Runnable)//提交Runnablesubmit(
2018-04-02 16:21:05 391
原创 【Java并发】闭锁笔记
简言之,闭锁可以等待其他线程执行完毕再执行其他操作,如果没有闭锁则需要发送一个通知或者估计一个执行时间来保证其他线程的操作执行完成,这样效率会很低。(不过闭锁的原理也相当于发送一个通知,也就是计数器的值为0,代表操作已经完成)。Java中的闭锁是CountDownLatch下面是一个树上的例子:同步多个线程,并同时释放释放这些线程。其中: CountDownLatch...
2018-04-01 15:26:22 301
原创 【Java并发】生产者-消费者模式简单实现(模拟消息队列)
简单的模拟了一个消息队列Producer:生产者Consumer:消费者Message:消息体 import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; public class Test4 { public sta...
2018-04-01 11:03:29 3934
原创 【Java并发】阻塞队列BlockingQueue和生产者-消费者模型笔记
阻塞队列BlockingQueueBlockingQueue是线程安全的一个阻塞队列,常用于生产者-消费者模式中。BlockingQueue是一个先进先出的队列(当然这是普通队列也有的性质)。其中常用的操作如下:put()和take()两个都是阻塞的操作。即当队列已满时put,将会一直等待,直到队列不为满时再put。同理,当队列为空时take,也将会一直等待,直到队列不为空...
2018-04-01 10:55:23 488
原创 【Java并发】wait、notify和notifyAll()及IllegalmoitorStateException异常
这三个都不是Thread里的方法,而是Object里的方法。即每一个对象都有这三个方法。wait()使得当前正持有该对象的锁的线程等待(即暂停),并释放锁,以便其它线程能够获取该对象的锁。notify()唤醒一个正在等待该对象锁的线程(即处于wait状态的线程),具体哪一个不确定。notifyAll()唤醒所有正在等待该对象锁的线程(即处于wait状态的线程...
2018-04-01 09:00:49 1007 3
工件零件缺陷检测系统(C#)
2021-12-15
简易版的自行车速度计(C#实现)
2021-11-25
基于RFID射频识别的商品录入和管理系统(C#)
2021-11-25
各个版本hadoo.dll以及winutils
2019-03-29
qq聊天记录分析包
2018-02-20
微信文章抓取
2017-10-14
有些创业想法,想和感兴趣的小伙伴一起来讨论讨论
2024-02-22
寻找会Python的小伙伴一起开发
2024-01-08
Java Hash Map containsValue的时间复杂度是多少呢
2018-02-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人