java编程思想
斩天拔剑书
想要就去拿
展开
-
IDEA常用快捷键
Ctrl + F12 清单ctrl + I 引入包或方法Ctrl +Alt +T 提示生成方法Alt + Insert 类似eclipse 的sourceShift + F6 同名的全选修改 Ctrl +e 切换文件Ctrl +shift + 空格 代码补全Ctrl+H 查看类的继承关系,例如HashMap的父类是AbstractMap,子类则有一大堆Ctrl+Alt+B查看...原创 2019-11-08 16:58:38 · 165 阅读 · 0 评论 -
RocketMQ笔记Consumer消费者订阅
1 集群订阅(MessageModel.CLUSTERING):同一个 Consumer ID 所标识的所有 Consumer 平均分摊消费消息。例如某个 Topic 有 9 条消息,一个 Consumer ID 有 3 个 Consumer 实例,那么在集群消费模式下每个实例平均分摊,只消费其中的 3 条消息。代码:private DefaultMQPushConsumer co...原创 2019-10-28 09:55:14 · 2066 阅读 · 0 评论 -
关于POM和相关命令
1 <packaging>pom</packaging>POM是最简单的打包类型。不像一个JAR,SAR,或者EAR,它生成的构件只是它本身。没有代码需要测试或者编译,也没有资源需要处理。打包类型为POM的项目的默认目标生命周期阶段 目标package site:attach-descriptorinstall...原创 2019-10-24 16:43:45 · 220 阅读 · 0 评论 -
抽象类和接口区别
一、抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就可以称之为抽象类。1.抽象方法:使用abstract修饰且没有方法体的方法。特点:① 抽象方法没有方法体,交给子类实现② 抽象方法修饰符不能是private final static③ 抽象方法必须定义在抽象...翻译 2019-10-21 13:52:28 · 741 阅读 · 0 评论 -
认识多线程:线程池的简单使用
线程池使用有点: 提供一个线程队列,队列中保存所有;如下代码有两种方式:Runable 和 Callable使用步骤:step1:创建一个线程池(5种) step2:分配任务pool.submit(tpd) step3:关闭线程池 pool.shutdown();package com.pccc.pactera.juc01;import java.util.ArrayLi...原创 2019-07-28 16:09:50 · 251 阅读 · 0 评论 -
认识多线程:ReadWriteLock读写锁
ReadWriteLock 读写锁 效率高于独占锁 写写/读写 需要互斥, 读读 不需要互斥ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reader 线程同时保持。写入锁是独占的package com.pccc.pactera.juc01;import java.util.concurrent.lo...原创 2019-07-28 15:05:58 · 212 阅读 · 0 评论 -
初步认识Maven(二)
创建Maven的web工程时:提示这种错误:Cannot change version of project facet Dynamic Web Module to 2.5.解决方式 :项目路径下的 .setting文件夹内的org.eclipse.wst.common.project.facet.core.xml文件,修改如下<installed facet="jst.web" ...原创 2019-08-05 22:02:09 · 95 阅读 · 0 评论 -
认识多线程:线程交序执行/Condition
编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要 求输出的结果必须按顺序显示,以下代码供参考,它实现了线程的等待与唤醒,实现结果循环20次的执行3个线程,线程A打印5次,线程B打印15次,线程C打印20次 1 Condition能够支持不响应中断,而通过使用Object方式不支持; 2 Conditio...原创 2019-07-28 11:40:33 · 142 阅读 · 0 评论 -
认识多线程:等待唤醒机制
package com.pccc.pactera.juc01;public class TestProducterAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Porductor p = new Porductor(clerk); Consumer c = ne...原创 2019-07-28 10:51:23 · 137 阅读 · 0 评论 -
模拟CAS算法
模拟CAS(Compare-And-Swap)算法package com.pccc.pactera.juc01;public class TestCompareAndSwap { public static void main(String[] args) { final CompareAndSwap cas = new CompareAndSwap(); for ...原创 2019-07-27 18:52:18 · 146 阅读 · 0 评论 -
认识多线程:jdk1.5后的显示锁Lock
Lock的简单认识和使用:是一个显示锁,需要通过Lock()方式上锁,必须通过unlock()方式进行释放锁package com.pccc.pactera.juc01;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 解决线程安全方式 1 同...原创 2019-07-27 20:59:07 · 112 阅读 · 0 评论 -
认识多线程:线程创建的方式实现Callable
创建线程方式: 实现Callable接口 比较实现Runnable 接口方式,方法可以有返回值,并且可以返回异常执行Callable方式,需要FutureTask实现类的支持,用于接收运算结果 。FutureTask是Future的实现类FutrueTask可用于闭锁package com.pccc.pactera.juc01;import java.util.concur...原创 2019-07-27 20:35:00 · 229 阅读 · 0 评论 -
认识多线程:CountDownLatch
简单认识下CountDownLatch闭锁使用场景:可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行;简单认识CountDownLatch在多线程中的使用方式:package com.pccc.pactera.juc01;import java.util.concurrent.CountDownLatch;/** * Co...原创 2019-07-27 20:04:20 · 122 阅读 · 0 评论 -
认识多线程:多线程使用场景
1 一个对象里面如果有多个synchronized方法,某一个时刻内,只要一个线程去调用其中的一个synchronized方法了,其它的线程都只能等待,换句话说,某一个时刻内,只能有唯一一个线程去访问这些synchronized方法2 锁的是当前对象this,被锁定后,其它的线程都不能进入到当前对象的其它的synchronized方法3 加个普通方法后发现和同步锁无关4 换成两...原创 2019-08-01 10:13:24 · 2081 阅读 · 1 评论 -
初步认识Maven(一):
第一步:Maven 下载地址:http://maven.apache.org/download.cgi首先要确定 jdk 已经安装和配置,把 maven 解压到放到 D 盘配置 maven 环境变量:path系统变量,D:\MyTool\maven\apache-maven-3.3.3\binwin+r,执行cmd,打开dos窗口,执行, mvn -version 正常显示maven...原创 2019-08-05 11:34:49 · 120 阅读 · 0 评论 -
JMS之ActiveMQ(之二):发布/订阅模式
与上篇点对点消息模式不同的地方在与,1 发布/订阅者模式,使用Topic //destination = session.createQueue("FirstQueue1");// 创建消息队列destination = session.createTopic("FirstTopic2");2 发布/订阅者模式 先订阅,再生产者发布,就好比得先定报纸,才能送报纸;3...原创 2019-08-04 21:21:51 · 251 阅读 · 0 评论 -
JMS之ActiveMQ(之一):点对点
开发包及源码下载地址:http://activemq.apache.org/activemq-5111-release.html下载 apache-activemq-5.11.1-bin压缩包,解压,运行bin下的.bat文件,选择与操作系统对应的;(闪屏即关闭的应该是环境变量有问题,扔到桌面上启动);ActiveMQ 服务启动地址:http://127.0.0.1:8161/admin/...原创 2019-08-04 17:52:37 · 128 阅读 · 0 评论 -
java_编程思想_重点笔记
面向对象(1):特点 1:将复杂的事情简单化。 2:面向对象将以前的过程中的执行者,变成了指挥者。 3:面向对象这种思想是符合现在人们思考习惯的一种思想。(2)匿名对象使用场景: 1:当对方法只进行一次调用的时候,可以使用匿名对象。 2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。(3)类中怎么没有...原创 2018-05-13 15:32:51 · 241 阅读 · 0 评论