quartz(二) 源码分析

// SimpleThreadPool——quartz里的工头儿 // WorkerThread——quartz里的工人 // QuartzSchedulerThread——Quartz里面的老板 public class SimpleExamp...

2019-01-20 22:19:55

阅读数 55

评论数 0

quartz (一)应用入门

由于项目需要,因此自己需要研究下quartz调度框架,基于mysql持久化到数据库,quartz使用的是c3po数据库连接池,因此需要导入相关包 <dependency> <groupId>mysql&...

2019-01-20 21:18:53

阅读数 37

评论数 0

多线程进阶--线程的中断

java为我们提供了一种调用interrupt()方法来请求终止线程的方法,下面我们就一起来学习一下线程的中断。每一个线程都有一个boolean类型标志,用来表明当前线程是否请求中断,当一个线程调用interrupt() 方法时,线程的中断标志将被设置为true。 我们可以通过调用Thread....

2017-11-08 15:18:45

阅读数 144

评论数 0

LockSupport

LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。每个使用LockSupport的线程都会与一个许可关联,如果该许可可用,并且可在进程中使用,则调用park()将会立即返回,否则可能阻塞。如果许可尚不可用,则可以调用 unpark 使其可用。但是注意许可不可重入,也就是说只能调用一...

2017-11-06 15:41:15

阅读数 121

评论数 0

ReentrantLock实现的源码分析

拜读过这篇文章http://ifeve.com/introduce-abstractqueuedsynchronizer/之后感觉对多线程又有了进一步的认识,但是这篇文章偏于理论,于是我便使用了调试的功能进行了进一步的分析认识,在看这篇文章之前建议先认真阅读上面链接的那篇文章。 先给出里面涉及到...

2017-11-04 18:50:02

阅读数 132

评论数 0

多线程进阶--Future与Callable

Future与Callable可以实现一种异步计算结果,Callable类似于一个增强的Runnable接口,和Runnable接口不同的是,它提供了一个call方法来执行线程代码,而call方法可以有返回值,也可以声明式的抛出异常。 Future的get方法会阻塞在那,等待执行完成,获取结果。...

2017-10-31 19:17:26

阅读数 143

评论数 0

微信三大平台

支付模式 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1 1、刷卡支付 刷卡支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。主要应用线下面对面收银的场景。 2、扫码支付 扫码支...

2017-10-31 17:20:22

阅读数 271

评论数 0

多线程进阶二 Unsafe 源码

java中的Unsafe类 java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:1、通过Unsafe类可以分配内存,可以释放内存;类中提供的3个本地方法allocateMemory、reallocateMemory、freeMem...

2017-10-27 17:29:02

阅读数 99

评论数 0

java定时发送http请求

public class HttpRequest { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * ...

2017-10-27 16:03:32

阅读数 1342

评论数 1

多线程进阶InheritableThreadLocal

上篇说的是ThreadLocal,如果对ThreadLocal足够了解的话,InheritableThreadLocal也很好理解。InheritableThreadLocal类继承于ThreadLocal类,所以它具有ThreadLocal类的特性,但又是一种特殊的ThreadLocal,其特殊...

2017-10-21 12:07:05

阅读数 125

评论数 0

多线程进阶ThreadLocal

线程的私有变量是利用ThreadLocal来实现的,那么怎么来的实现的呢,简单来说,就是Thread包含一变量map,这个map里面的键值对存放的是ThreadLocal —- Value键值对,也就是线程若需要存放多个私有变量,需要new出多个ThreadLocal,如public cla...

2017-10-20 16:06:31

阅读数 106

评论数 0

多线程进阶(一)

当线程被创建并且启动后,它经历了5种状态:新建、就绪、运行、阻塞和死亡状态。当线程在运行的时候,不能一直占有CPU时间片,CPU会在多个线程之间进行调度,线程的状态也会多次切换于阻塞和运行状态。 当线程对象被创建出来是进入了新建状态,当调用了start方法后,线程进入就绪状态。这里可能读者的理解...

2017-10-13 16:49:45

阅读数 110

评论数 0

一些常用的设计模式(装饰者模式)

装饰模式(IO中) 又名包装模式 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案 • 装饰模式以对客户透明的方式动态的给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。 • 装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。...

2017-10-12 16:39:01

阅读数 97

评论数 0

一些常用的设计模式(策略模式)

(TreeSet(Compartor com)) 策略模式(Strategy Pattern)中体现了两个非常基本的面向对象设计的原则 – 封装变化的概念 – 编程中使用接口,而不是对接口的实现 • 面向接口的编程策略模式的定义 – 定义一组算法,将每个算法都封装起来,并且使它们之间可...

2017-10-12 15:53:48

阅读数 101

评论数 0

一些经常被忽略的细节性问题(一)

1.java 静态方法能否被覆盖? 贴代码,看实例public class Super { static String greeting(){ return "Good night"; } String na...

2017-10-12 15:09:24

阅读数 205

评论数 0

网银支付(接入的是连连支付)

连连支付的官方sdk文件有点多,但是看起来比较容易理解。逻辑上大体上跟支付宝支付差不多,配置也差不多,直接贴代码。不同的是要接入连连支付需要事先与连连支付人员取得联系,签订合同后他们会给你一个商户号,然后登陆https://b.lianlianpay.com/trader/login.htm,并配...

2017-10-09 16:56:55

阅读数 1286

评论数 2

pc端微信扫码支付

首先需要在微信公众平台(注意不是微信开放平台)注册一个账号,并开通微信认证,微信认证一次需要300块(太tm的贵了),并且需要提交各种资料。 审核过后, 进入 开发-》基本配置 开发者ID,开发者密码都需要记住后面需要用,开发者密码需要自己设置,很多人找不到32位密钥,这里可以用第三方软件...

2017-10-09 16:39:13

阅读数 792

评论数 0

pc端支付宝扫码支付

前段时间开发了一个商城,集成了支付宝,微信,网银支付(接入的是连连支付第三方支付接口)。现在总结一下。 首先到https://www.alipay.com/ 注册一个支付宝商户号,进入开放平台,创建一个应用,签约电脑网站支付 接着配置应用信息: 这里的授权回调地址填的是支付宝付款成功...

2017-10-09 15:47:33

阅读数 3327

评论数 0

四种常见的 POST 提交数据方式对应的content-type取值

application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样(无...

2017-09-07 17:32:45

阅读数 277

评论数 0

从request中获取所有请求参数

从 request 中获取请求参数有两种情况 1.从 get 方法中获取请求参数 get 方法的请求参数存放在 getQueryString() 方法中,不需要从 getInputStream() 中获取 2.从 post 方法中获取请求参数 post 方法的参数存放在 流当中需要从 ge...

2017-09-07 16:48:27

阅读数 1502

评论数 0

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