自定义博客皮肤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

十年java老兵,只生产干货,公众号:路人甲Java,微信号:itsoku

  • 博客(29)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java并发系列-11、线程通信

线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了。本文将讲解以下几个JAVA线程间通信的主题:1、通过共享对象通信2、忙等待3、wait(),notify()和notifyAll()4、丢失的信号5、假唤醒6、多线程等待相同信号

2016-11-30 15:30:01 510

原创 Java并发系列-10、Java同步块

Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java同步块用来避免竞争。本文介绍以下内容:Java同步关键字(synchronzied)实例方法同步静态方法同步实例方法中同步块静态方法中同步块Java同步示例Java 同步关键字(synchronized)Java中的同步块用synchronized标记。同步块在Java中

2016-11-29 17:51:42 515

原创 Java并发系列-9、Java内存模型

Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型。如果你想设计表现良好的并发程序,理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。原始的Java内存模型存在一些不足,

2016-11-29 16:58:07 301

原创 Java并发系列-8、线程安全与共享资源

当多个线程同时访问同一个资源,并且其中的一个或者多个线程对这个资源进行了写操作,才会产生竞态条件。多个线程同时读同一个资源不会产生竞态条件。我们可以通过创建不可变的共享对象来保证对象在线程间共享时不会被修改,从而实现线程安全。如下示例:public class ImmutableValue{ private int value = 0; public Immut

2016-11-29 15:56:43 234

原创 Java并发系列-7、线程安全与共享资源

允许被多个线程同时执行的代码称作线程安全的代码。线程安全的代码不包含竞态条件。当多个线程同时更新共享资源时会引发竞态条件。因此,了解Java线程执行时共享了什么资源很重要。局部变量局部变量存储在线程自己的栈中。也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。下面是基础类型的局部变量的一个例子:public void someMethod

2016-11-29 13:40:54 260

原创 Java并发系列-6、竞态条件与临界区

在同一程序中运行多个线程本身不会导致问题,问题在于多个线程访问了相同的资源。如,同一内存区(变量,数组,或对象)、系统(数据库,web services等)或文件。实际上,这些问题只有在一或多个线程向这些资源做了写操作时才有可能发生,只要资源没有发生变化,多个线程读取相同的资源就是安全的。多线程同时执行下面的代码可能会出错:public class Counter { prote

2016-11-28 18:17:56 403

原创 Java并发系列-5、如何创建并运行java线程

Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。 可以用如下方式用java中创建一个线程:1Tread thread = new Thread();执行该线程可以调用该线程的start()方法:1thread.start();

2016-11-28 16:34:21 1314

原创 Java并发系列-4、并发编程模型

并发系统可以采用多种并发编程模型来实现。并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同。这篇并发模型教程将会较深入地介绍目前(2015年,本文撰写时间)比较流行的几种并发模型。并发模型与分布式系统之间的相似性本文所描述的并发模型类似于分布式系统中使用的很多体系结构。在并发系统中线程之间可以相互通

2016-11-24 14:22:33 2367

原创 Java并发系列-3、多线程的代价

从一个单线程的应用到一个多线程的应用并不仅仅带来好处,它也会有一些代价。不要仅仅为了使用多线程而使用多线程。而应该明确在使用多线程时能多来的好处比所付出的代价大的时候,才使用多线程。如果存在疑问,应该尝试测量一下应用程序的性能和响应能力,而不只是猜测。设计更复杂虽然有一些多线程应用程序比单线程的应用程序要简单,但其他的一般都更复杂。在多线程访问共享数据的时候,这部分代码

2016-11-24 14:20:56 303

原创 Java并发系列-2、多线程的优点

尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是:资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要:5秒读取文件A2秒处理文件A5秒读取文件B2秒处理文件B------

2016-11-24 14:18:18 548

原创 Java并发系列-1、Java并发性和多线程介绍

在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。随着多任务对软件开发者带来的新挑战,程序不在能假设独占所有的CPU时间、所有的内存和其他计算机资源。一个好

2016-11-24 14:16:54 661

原创 ios学习笔记

最近在学ios,从c开始,然后oc->ios,每个环节中都有相应的代码记录,在此,把代码贴出来,和大家一起分享,望大家一起探讨技术,一起进步,有不好的地方望多指正,谢谢,后续会陆续推出ios整体的一套学习笔记!相关代码地址:c开发 oc代码

2016-11-23 17:58:58 265

原创 spring通知执行的顺序

关于spring aop的具体使用,暂时不在这里讲解,本次主要研究spring中通知执行的顺序。spring中通知分为以下几种:before:前置通知,在方法执行之前执行 around:环绕通知,在方法执行前后执行 afterreturning:在方法执行成功后执行 afterthrowning:异常通知,在方法发生异常后执行 after:后置通知,在方法执行之后执行(不管方法

2016-11-18 12:46:32 4765 3

转载 MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded

java.lang.Exception:### Error updating database.  Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction### The error may involve defaultParameterMap### The error o

2016-11-17 16:42:41 1027

原创 关于线程中异常的处理

我们经常使用try..catch进行异常处理,但是对于Uncaught Exception是没办法捕获的。对于这类异常如何处理呢?回顾一下thread的run方法,有个特别之处,它不会抛出任何检查型异常,但异常会导致线程终止运行。这非常糟糕,我们必须要“感知”到异常的发生。比如某个线程在处理重要的事务,当thread异常终止,我必须要收到异常的报告(email或者短信)。在

2016-11-16 14:55:54 3557 1

转载 Java并发结构

内容线程同步监视器线程线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统计和控制这种行为。每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程。在Java虚拟机初始化过程中也可能启动其他的后台线程。这

2016-11-16 10:42:12 335 1

原创 如何用消息系统避免分布式事务?

前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。  上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除

2016-11-15 21:59:18 1021 1

原创 backbone入门指南

1、Backbone入门指南(一):什么是Backbone?2、Backbone入门指南(二):依赖库Underscore3、Backbone入门指南(三):Events(事件管理)4、Backbone入门指南(四):Model(数据模型)5、Backbone入门指南(五):Collection (数据模型集合)6、Backbone入门指南(六):View

2016-11-15 17:01:58 1387 1

原创 Backbone入门指南(七):Router和History (路由控制器)

10. Router和History (路由控制)  Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文中称Action)。  当我们开发一个单页应用时,常常会遇到这样两个问题:  我们在同一个页面中通过用户的操作来隐藏、显示HTML块,为用户提供一个无刷新、完整流畅的

2016-11-15 14:13:10 3054 1

原创 Backbone入门指南(六):View (视图)

9. View (视图控制器)  我们在前面的章节中介绍了Model和Collection,它们都是用于数据管理和交互,在本章我们讨论如何使用视图(View)将这些数据渲染到界面,以及如何管理界面事件和逻辑。  Backbone中的视图提供了一组处理DOM事件、和渲染模型(或集合)数据的方法(在使用视图类之前,你必须先导入jQuery或Zepto)。  视图类提供的方法非常

2016-11-15 13:28:10 2447 1

原创 Backbone入门指南(五):Collection (数据模型集合)

8. Collection (数据模型集合)  如果将一个Model对象比喻成数据库中的一条记录,那么Collection就是一张数据表。它表示为一个模型集合类,用于存储和管理一系列相同类型的模型对象。8.1 创建集合  集合用于组织和管理多个模型,但它并不是必须的,如果你的某个模型对象是唯一的(单例),那么你没必要将它放到集合中。  我们来看一个创建集

2016-11-15 12:57:49 2072 1

原创 Backbone入门指南(四):Model(数据模型)

7. Model (数据模型)  Model是Backbone中所有数据模型的基类,用于封装原始数据,并提供对数据进行操作的方法,我们一般通过继承的方式来扩展和使用它。  如果你做过数据库开发,可能对ORM(对象关系映射)不会陌生,而Backbone中的Model就像是映射出来的一个数据对象,它可以对应到数据库中的某一条记录,并通过操作对象,将数据自动同步到服务器数据库。(下一节即

2016-11-15 11:29:42 1740 2

原创 Backbone入门指南(三):Events(事件管理)

6. Events (事件管理)  从这一章开始,我将正式介绍Backbone的内容,过程中会有许多例子和代码,你应该将这些代码复制到你的页面,并查看它们的运行效果。  我介绍的第一个模块是Backbone.Events(事件管理),因为我在介绍任何其它的模块时都会提到它,你可以想象到它的重要性。  Events是Backbone中所有其它模块的基类,无论是Model、Co

2016-11-15 11:11:53 2008 1

原创 Backbone入门指南(二):依赖库Underscore

5. Underscore.js  Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率。它本身与我们介绍的主题“Backbone”没有半毛钱的关系,因此你可以完全不理会“Backbone”的概念来学习它,或将它单独运用到任何一个页面。(另外,Underscore还可以被使用在Node.js运行环境。)  在学习Underscore之前,你应该先保存它

2016-11-14 18:16:39 1916

原创 Backbone入门指南(一):什么是Backbone?

1. 前言  本文的目的,是帮助大家快速理解掌握Backbone的使用,但它并不是API,因此我不会将每一个方法都详细地描述,但是我会告诉你如何学习它们。  这是一篇稍稍较长的技术文章,因为我想将我所了解的东西尽可能详细地分享给大家。但它还不至于出版为一本书籍,因为Backbone其实非常简单。当然,这并不表示Backbone提供的功能有限,相反,它能用简单的实现构建出复杂的应用,

2016-11-14 15:59:39 49709 1

原创 Object-c基础系列-NSString常用方法集合

/*  1、将字符串内容写入到磁盘上的某1个文件之中.    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;     参数1:将字符串泥工写入到哪1个文件之中,写上文件的路径

2016-11-13 22:17:37 1192

原创 消息服务设计

消息服务MS:简称消息服务主要是方便对业务进行扩展,目前考虑接入activemq和阿里mq,暂时支持这两种消息产品,消息服务对外提供简单的接口,封装具体的实现,尽量做到可灵活配置。 消息主要属性id:编号data:消息内容order_id第三方唯一订单号acct_id第三方账号status:状态bus_check_fail_count:验证第三方业务是否成功

2016-11-10 13:58:20 985

原创 Spring aop 前置通知、后置通知、返回通知、 异常通知 、后置通知

Spring AOP定义切面Ⅰ 首先介绍一下写Spring Aop思路 一、首先在项目中加入aop所需要的jaraopalliance-1.0.jaraspectjweaver-1.6.11.jarcommons-logging-1.1.1.jarspring-aop-3.0.5.RELEASE.jarspring-aspects-3.0.5.RELEASE.jar

2016-11-10 13:36:32 11039 1

原创 并行处理工具类

java程序中,有如下方法:public void m1(){mehod1();method2();method3();}上面程序是按顺序执行的,整个方法的执行时间等于内部三个方法执行时间之和,假若内部的三个方法之间是没有任何依赖的,我们可以将三个方法并行进行执行,待三个方法都返回结果时,m1执行结束,这样将更高效。下面提供一个工具类,可以完成以后开

2016-11-10 10:58:47 488

html转pdf、图片(windows版本)

java实现html转换pdf

2016-12-01

linux终端 putty

linux终端工具,无乱码,可以全屏,使用非常方便.

2012-12-20

加载中图片集合

收集了各种加载数据时处于等待中的图片集合

2012-11-22

jsonp源码以及jar包

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

2012-09-08

各种flex 图表(chart)源码

包含所有的flex的chart图表,动态图表源码

2012-09-08

极客时间课程

《9小时搞定微信小程序开发》《Nginx核心知识100讲》《微服务架构实战160讲》《玩转Git三剑客》《算法面试通关40讲》《Android开发高手课》《Java核心技术36讲》《MySQL实战45讲》《从0开始学架构》《如何设计一个秒杀系统》《左耳听风》《数据结构与算法之美》《深入剖析Kubernetes》《深入拆解 Java 虚拟机》《赵成的运维体系管理课》《趣谈网络协议》

2019-04-30

springaop中切入点表达式完整示例代码

详细介绍spring aop中9种切入点表达式的写法execute、within、this、target、args、@target、@within、@annotation、@args

2019-04-29

html转pdf、图片(linux版本)

java实现html转换为pdf或者图片

2016-12-01

c语言从入门到高级的所有代码范例

包含了c语言从入门到高级的所有代码范例,分享给大家,望大家相互学习,有不好的地方希望能多指正,谢谢

2016-11-23

sping各种功能测试

包含了spring各种功能的测试: 1、ioc各种功能 2、aop各种通知的使用

2016-11-18

oc基础教程全集

完整的object-c教程,是一个完整的xcode功能,内设10个章节

2016-11-13

ibatis资料pdf

囊括了所有的ibaits使用方法,从基础到精通

2009-10-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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