自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

庖丁解牛

JAVA程序猿

  • 博客(39)
  • 收藏
  • 关注

转载 javascript的立即执行函数

javascript的立即执行函数在javascript中有引入立即执行函数的概念,那么什么是立即执行函数呢?立即执行函数又是怎么写的呢?立即执行函数与普通函数有什么区别呢?先来看看一般的函数:function a(){ var num = 100; console.log(num); }以上就是javascript中随便定义的最普通的函数,函数一旦被定义,就会一直等着被执行,会一直占用空间。除非等到javascript执行完函数才会被释放。但是有些

2020-10-20 14:46:06 310

转载 Javascript的闭包(上)

Javascript的闭包(上)了解了预编译和作用域的相关知识以后我们来看一下开发中常见的工具——闭包。还是来看一个实例。 function a(){ function b() { var bb=234; console.log(aa); } var aa=123; return b; } var dome = a(); dome();我们来看一下上边

2020-10-20 14:45:10 242 1

转载 javascript的作用域

javascript的作用域前几天我们解释了js的预编译,今天接着说一下作用域,作用域这个词我相信大家都不会太陌生,比如说我们定义一个函数,一个函数就像一个屋子一样,屋子的形成就好像是形成了一个单独的域,和外界有一些阻隔,里边能看到外边,外边看不到里边,两个屋子之间是彼此独立的。这样我们可以把这个函数所生成的这个空间管他叫做一种作用域,但是,他不精准。作用域确实是因为函数的产生而产生的独特的东西。也就是说:作用域属于函数,一个函数产生一个作用域。这俩是相绑定的。那作用域到底是什么呢?我们都知道每

2020-10-20 14:44:01 173

转载 一步一步的理解javascript的预编译

一步一步的理解javascript的预编译首先,我们要知道javascript是单线程、解释性语言。所谓解释性语言,就是翻译一句执行一句。而不是通篇编译成一个文件再去执行。其实这么说还没有这么直观,读一句执行一句那是到最后的事了。到JS执行前还有两大步骤。那就是1.语法分析(或语意分析)→2.预编译→3.解释执行(真正的读一句执行一句)第一步:语法分析(即扫描一下看一看有没有低级的语法错误,比如多个大括号啊,写个中文标点等等,只通篇检查语法,但不执行。这就是语法分析的过程。)第二步:预编

2020-10-20 14:42:24 143

转载 最新鲜最详细的Android SDK下载安装及配置教程

最近Neo突发神经,想要将学过的一些计算机视觉、机器学习中的算法都放到移动设备上去跑跑,因为移动开发是大势所趋嘛,希望能够通过这样一个实践的过程,找到一些新的灵感(该不会是为了赚钱吧…),我自己目前也有一些idea,然后也希望以后能够进行计算机视觉、机器学习方面的创业,如果有志同道合的朋友可以一起交流交流(可通过邮箱:neo.huang3@gmail.com)。既然要做计算机视觉的移动开发,那...

2019-02-23 11:43:17 1789

转载 intellij idea配置外部dtd文件

 打开file——Settings..(快捷键ctrl+alt+s);找到Languages&Frameworks——Schemas and DTDs右侧的External Schemas and DTDs窗口中点击添加按钮。下载的文件是直接在网页上打开,就能直接下载(主配置文件dtd在myeclipse中的名字:-//mybatis.org//DTD Config 3.0/...

2018-12-20 17:35:37 459

转载 IDEA下maven 添加 servlet3.x 模板

问题maven使我们常用的项目管理工具,但是使用maven创建web项目时,默认创建的为servlet2.x的webapp,我们想使用最新的功能更强大,性能更好的servlet3.x的webapp解决方法1. 手动修改相关配置(web.xml,引入servlet3.x依赖)缺点:每次新建项目都要手动修改,因为手动修改了配置文件,容易出各种各样奇怪的问题。此方法不做介绍,百度一大堆...

2018-12-20 10:47:58 553

转载 idea下maven项目增加依赖项目里面没有添加相关依赖jar

困扰了一晚上的问题,一般在pom.xml中增加了相关依赖,idea会自动将依赖的Jar包增加到maven项目中,但是在pom.xml中增加了依赖,项目中并没有  偶然打开idea的侧边栏maven工具栏,发现kk-manager-service的颜色和其他的model不一样 右键kk-manager-service模块   翻译unignore projec...

2018-12-20 10:43:09 1028

转载 HttpClient 发送请求,处理响应及响应重复读取

HttpClient是Apache旗下的项目,是一个负责创建和维护HTTP和相关协议的工具集。以下分析使用版本为:httpclient-4.5.3.jarhttpcore-4.4.6.jarjdk1.8.0_131所有示例代码均经过运行测试发送请求httpclient最重要的功能就是发送http请求,下面介绍如何执行一个get请求:CloseableHttpCli...

2018-12-19 14:13:32 3022

转载 彻底理解Java的Future模式

彻底理解Java的Future模式先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点,需要好好考虑一下。模拟代码1:package...

2018-12-19 11:17:54 169

转载 JUnit4教程

JUnit介绍,JUnit是什么?JJUnit是用于编写和运行可重复的自动化测试的开源测试框架, 这样可以保证我们的代码按预期工作。JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的Java程序。JUnit提供:断言测试预期结果。 测试功能共享通用的测试数据。 测试套件轻松地组织和运行测试。 图形和文本测试运行。JUnit用于测试:整个对象...

2018-12-17 16:09:43 370 1

转载 软件版本 —— Alpha、Beta、RC版本的区别

软件版本周期α、β、λ 常用来表示软件测试过程中的三个阶段。-- α 是第一阶段,一般只供内部测试使用;-- β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;-- λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。开发期-- Alpha(α):预览版,或者叫内部测试版;...

2018-12-17 16:00:43 724

转载 Junit 测试的规则

1、每次只对一个对象进行UT测试(unit-test one object at a time)。这样能使你尽快发现问题,而不被各个对象之间的复杂关系所迷惑。2、给测试方法起个好名字(choose meaningful test method names)。应该是用形如testXXXYYY(),这样的格式来命名你的测试方法。前缀test是Junit查找测试方法的依据,XXX应该是你测...

2018-12-17 15:30:01 429 1

转载 菜鸟学习Jmock测试-全解(四)

jmock2.5基本教程 目录 第0章 概述 第1章 jmock初体验 第2章 期望 第3章 返回值 第4章 参数匹配 第5章 指定方法调用次数 第6章 指定执行序列 第7章 状态机 第0章 概述 现在的dev不是仅仅要写code而已,UT已经变为开发中不可缺少的一环。JUnit的出现给javaer的UT编写提供了巨大的便利。但是JUnit并没有解决所有的问题。 当我们...

2018-12-14 15:55:56 1253

转载 菜鸟学习Jmock测试-入门(三)

1. 如何校验expectations中的规则?使用JMock时,一般会通过如下代码指定expectations。private Mockery   context = new Mockery();context.checking(new Expectations() {        {                   ... expectations go here ....

2018-12-14 15:53:53 1562

转载 菜鸟学习Jmock测试-入门(二)

第一个实例:建立一个testcase的步骤:1、建立一个test上下文对象2、生成一个mock对象  3、设置期望4、设置mock对象5、调用方法6、验证返回值实例(用户服务测试):测试用户服务中根据userId查询用户表中某个业务(本例子中采用的是鲜花)的未读数。public class UserServiceTest extends AbstractTest...

2018-12-14 15:53:17 414

转载 菜鸟学习Jmock测试-入门(一)

需求背景:1、在做某些服务类的单元测试时总是会和数据库打交道,然而本地开发环境的数据库中的数据会经常被同步,这样就会导致过段时间后,与数据库中的数据密切相关的单元测试就会跑不过。2、在需要依赖开发的服务时,必须在他人将服务开发完成以后自己才能调用,这样会导致自己的开发delay的可能,所以可以使用mock来模拟他人开发的服务,从而可以使自己的开发顺利进行。配置环境:目前Jmock...

2018-12-14 15:52:41 2593

转载 下载安装破解idea2018

https://blog.csdn.net/weixin_39913200/article/details/80859897

2018-12-13 15:28:29 119

转载 Spring.profile实现开发、测试和生产环境的配置和切换

软件开发过程一般涉及“开发 -> 测试 -> 部署上线”多个阶段,每个阶段的环境的配置参数会有不同,如数据源,文件路径等。为避免每次切换环境时都要进行参数配置等繁琐的操作,可以通过spring的profile功能来进行配置参数的切换。以我用到的项目的实际情况为例,首先可以在resources文件夹下分别为每个环境建立单独的文件夹(也可以额外建立一个common文件夹,用于存放公共的...

2018-12-11 08:48:30 412

转载 Java中的锁池和等待池

Java平台中,因为有内置锁的机制,每个对象都可以承担锁的功能。Java虚拟机会为每个对象维护两个“队列”(姑且称之为“队列”,尽管它不一定符合数据结构上队列的“先进先出”原则):一个叫Entry Set(入口集),另外一个叫Wait Set(等待集)。对于任意的对象objectX,objectX的Entry Set用于存储等待获取objectX这个锁的所有线程,也就是传说中的锁池,objectX...

2018-10-12 15:58:08 731

转载 java反射机制深入理解剖析

java反射机制深入理解剖析       在java开发中有一个非常重要的概念就是java反射机制,也是java的重要特征之一。反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力,通过反射可以调用私有方法和私有属性,大部分框架也都是运用反射原理的。java通常是先有类再有对象,有对象就可以调用方法或者属性,java中的反射其实是通过Cla...

2018-10-10 14:19:46 176

转载 深入理解Java中的IO

深入理解Java中的IO引言:    对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java > 本文的目录视图如下: Java IO概要   a.Java IO中常用的类     b.Java流类的类结构图1.流的概念和作用2.Java IO所采用的模型  :3.IO流的分类4...

2018-10-09 15:38:32 106

转载 Java 中的浅拷贝与深拷贝

什么是拷贝?开始之前,我要先强调一下 Java 中的拷贝是什么。首先,让我们对引用拷贝和对象拷贝进行一下区分。 引用拷贝, 正如它的名称所表述的意思, 就是创建一个指向对象的引用变量的拷贝。如果我们有一个 Car 对象,而且让 myCar 变量指向这个变量,这时候当我们做引用拷贝,那么现在就会有两个 myCar 变量,但是对象仍然只存在一个。示例 1对象拷贝会创建对象本身的一个副本...

2018-10-09 14:49:01 107

转载 数据库必须具备的四个特性

数据库必须具备的四个特性1:原子性:事务包含的所有操作要么全部成功,要么全部失败回滚;成功必须要完全应用到数据库,失败则不能对数据库产生影响;2:一致性:事务执行前和执行后必须处于一致性状态,例:用户A和用户B的前加起来一共是5000; 无论AB用户之间是如何相互转换的,事务结束后两个用户的钱加起来还是5000,这就是事务的一致性。 3:隔离性:当多个用户并发访问数据库时,数据...

2018-08-01 10:58:54 14973

转载 理解事务的4种隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工...

2018-08-01 10:47:03 109

转载 spring 事务传播行为实例分析

Spring事务传播行为:spring特有的事务传播行为,spring支持7种事务传播行为,确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制)下图所示为7钟事务传播机制o    传播行为 含义 PROPAGATION_REQUIRED(XML文件中为REQUIRED)...

2018-07-30 16:51:13 86

转载 Spring的四种事务管理(一种编程式事务+三种声明事务)

Spring的4种事务管理(1种编程式事务+三种声明事务)一、Spring事务的介绍二、编程式事务xml的配置 注入后直接在service层调用模板的方法使用三、基于AOP方式的声明式事务管理prop的具体配置使用AOP声明式事务是时service层必须注入代理类四、基于AspectJ的声明式事务基于AspectJ...

2018-07-30 14:41:06 276

转载 AOP那点事儿:面向切面编程(2)

本文是《AOP 那点事儿》的续集。在上篇中,我们从写死代码,到使用代理;从编程式 Spring AOP 到声明式 Spring AOP。一切都朝着简单实用主义的方向在发展。沿着 Spring AOP 的方向,Rod Johnson(老罗)花了不少心思,都是为了让我们使用 Spring 框架时不会感受到麻烦,但事实却并非如此。那么,后来老罗究竟对 Spring AOP 做了哪些改进呢?现在继...

2018-07-24 09:20:39 114

转载 AOP 那点事儿

今天我要和大家分享的是 AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之。翻译过来就是“面向方面编程”,可我更倾向于翻译为“面向切面编程”。它听起有些的神秘,为什么呢?当你看完这篇文章的时候,就会知道,我们做的很重要的工作就是去写这个“切面” 。那么什么是“切面”呢?没错!就是用一把刀...

2018-07-24 09:19:45 149

转载 超详细java中的ClassLoader详解

ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。想想也是的,一次性加载那么多j...

2018-07-23 15:39:54 149

转载 quartz详解4:quartz线程管理

http://blog.itpub.net/11627468/viewspace-1766967/quartz启动后有多个线程同时在跑。启动时会启动主线程、集群线程、检漏线程、工作线程。主线程负责查询到需要触发的线程,并放入到线程队列。集群线程负责集群、检漏线程负责对未成功执行的任务进行检漏。工作线程默认是20,一般PC服务器可以调到200。一、主线程QuartzScheduleThread关于Q...

2018-04-24 16:49:32 2128

转载 quartz详解3:quartz数据库集群-锁机制

http://blog.itpub.net/11627468/viewspace-1764753/一、quartz数据库锁其中,QRTZ_LOCKS就是Quartz集群实现同步机制的行锁表,其表结构如下:点击(此处)折叠或打开--QRTZ_LOCKS表结构CREATE TABLE `QRTZ_LOCKS` (  `LOCK_NAME` varchar(40) NOT NULL,   PRIMARY...

2018-04-24 16:48:56 1892

转载 quartz详解2:quartz由浅入深

http://blog.itpub.net/11627468/viewspace-1763498/一、quartz核心概念     先来看一张图:        scheduler任务调度器trigger触发器,用于定义任务调度时间规则job任务,即被调度的任务misfire错过的,指本来应该被执行但实际没有被执行的任务调度Job:是一个接口,只有一个方法void execute(JobExecu...

2018-04-24 16:48:12 298

转载 quartz详解1:初步了解quartz

http://blog.itpub.net/11627468/viewspace-1763389/一、引入      你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用Java编程吗?如果这些问题中任何一个你回答是,那么你应该使用Q...

2018-04-24 16:47:09 258

转载 zookeeper初体验之关于解决quartz重复执行任务的一种思路

zookeeper初体验之关于解决quartz重复执行任务的一种思路前阵子工作中遇到了一个很麻烦的问题。本人所在的项目组做了一个机遇quartz集群的任务系统。通俗点讲就是用quartz框架(quartz是一款能跑定时任务的框架支持复杂的时间表达式)来执行定时任务。但是这里定时任务的并发数很多,就出现了一个问题,同一个trigger被多个机器重复的触发了,这就造成了执行的任务数目比预期的多很多。领...

2018-04-24 14:26:12 638

转载 集群源码分析

集群源码分析Quartz究竟是如何保证集群情况下trgger处理的信息同步?下面跟着源码一步一步分析,QuartzSchedulerThread包含有决定何时下一个Job将被触发的处理循环,主要逻辑在其run()方法中:public void run() { boolean lastAcquireFailed = false; while (!halted.get()) { ...

2018-04-24 14:21:19 395

转载 Spring整合Quartz定时任务 在集群、分布式系统中的应用

概述虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。Quartz 中集群如何工作一个 Quartz 集群中的每个节...

2018-04-24 11:19:33 185

转载 quartz (从原理到应用)详解篇

摘要: 这段时间正好处理一个关于Spring + quartz 结合做集群的分布式定时任务的方案,所以翻阅了不少关于这方面的知识,特此将这些东西分享出来,可以给想要使用Spring + quartz 的同学参照,有什么不准确的地方,希望大家斧正! ...

2018-04-23 19:30:39 393

转载 Quartz数据库表分析

前言 上一篇文章Spring整合Quartz分布式调度介绍了Quartz通过数据库的方式来实现分布式调度,通过使用数据库来存储trigger,job等信息,可以在停服重启的时候重新加载上次trigger的状态,保证了完整性;另一方面通过数据库来实现锁机制来实现分布式调度;Quartz默认提供了11张表,本文将对这几张表做简要的分析。 表信息 1.qrtz_b...

2018-04-23 15:50:00 5250

空空如也

空空如也

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

TA关注的人

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