- 博客(130)
- 问答 (1)
- 收藏
- 关注
原创 Java 之 线程睡眠和线程让步
线程睡眠 如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用Thread类的静态sleep方法来实现。sleep方法的两种重载形式: 1.static void sleep(long millis):让当前正在执行的线程暂停millis毫秒,并进入阻塞状态,该方法受到系统计时器和线程调度器的精度与准确度的影响。 2.st
2016-07-29 20:42:57
2872
2
原创 Java 之 线程join
Thread提供了让一个线程等待另一个线程完成的方法——join方法。当在某个程序执行流中调用其他线程的join方法时,调用线程将被阻塞,知道被join方法加入的join线程执行完为止。 join方法通常由使用线程的程序调用,以将大问题划分成许多小问题,每个小问题分配一个线程。当所有的小问题都得到处理后,再调用主线程来进一步操作。package com.heh
2016-07-27 20:40:35
873
2
原创 Java 之 线程的生命周期(三)
当线程结束后就处于死亡状态。线程结束的方式: 1.run或call方法执行完成,线程正常结束。 2.线程跑出一个未捕获的Exception或Error。 3.直接调用该线程的stop方法来结束该线程——该方法容易导致死锁,通常不推荐使用。 Notice:当主线程结束时,其他线程不受任何影响,并不会随之结束。一旦子线程启
2016-07-26 20:28:28
835
2
原创 Java 之 线程的生命周期(二)
运行和阻塞状态 如果处于就绪状态的线程获得了CPU,开始执行run方法的线程执行体,则该线程处于运行状态,如果计算机只有一个CPU,那么在任何时刻只有一个线程处于运行状态。当然,在一个多处理器的机器上,将会有多个线程并行执行;当线程数大于处理器数时,依然会存在多个线程在同一个CPU上轮换的现象。 当一个线程开始运行后,它不可能一直处于运行状态(除非它的线程
2016-07-24 20:29:27
787
2
原创 Java 之 SimpleDateFormat
用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 1.字符串转日期 2016-06-28 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2016-06-28 19:20:00 " );2.日期转字符串
2016-06-29 18:00:27
766
1
原创 EasyUI 之 下拉框默认选择第一个选项
$('#loadType').combobox({ url : "${pageContext.request.contextPath}/QuestionType?couresId="+ courseId, editable : false, //不可编辑状态 cache : false, panelHeight : '150',//自动高度适合 valueField : 'questi
2016-06-29 17:59:38
4513
1
原创 Sql 之 case函数
SELECT ( CASE degree WHEN '1' THEN '简单' WHEN '2' THEN '中等' ELSE '困难' END ) AS degree, degree AS degree1FROM te_questionmain
2016-06-28 22:09:21
600
2
原创 EasyUI 之 dataGrid前台状态值转换
$('#dg').datagrid({ columns:[[ {field:'id', hidden:true}, {field:'questionContent',title:'题干'}, {field:'degree',title:'难度等级', formatter:function(value,rec){ i
2016-06-27 22:39:49
3018
2
原创 Java 之 线程的生命周期(一)
当线程被创建并启动以后,它既不是已启动就进入执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直“霸占”这CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、就绪之间切换。新建和就绪状态
2016-05-30 21:08:54
734
3
原创 Java 之 线程的创建和启动(三)
之前给大家介绍了通过实现Runnable接口创建和启动线程类。通过实现Runnable接口创建多线程时,Thread类的作用就是把run方法包装成线程执行体。从Java 5 开始,Java提供了Callable接口,该接口像是Runnable接口的增强版,Callable接口提供了一个call方法可以作为线程执行体,但call方法比run方法功能更强大。 1.call方法
2016-05-29 21:26:55
1325
3
原创 Java 之 线程的创建和启动(二)
之前给大家介绍了通过集成Thread类创建和启动线程类,今天继续给大家介绍通过实现Runnable借口创建和启动线程类。 1.定义Runnable接口的实现类,并重写该接口的run方法,该run方法的方法体同样是该线程的线程执行体。 2.创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才
2016-05-28 20:25:59
719
3
原创 Java 之 线程的创建和启动(一)
Java 使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码)。Java使用线程执行体来代表这段程序流。public class FirstThread extends Thread { private int i; @Override //重写run方法,run方法的方
2016-05-27 21:20:34
1709
2
原创 Java 之 线程和进程
几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。线程和进程 几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程(Process)。当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行
2016-04-30 21:04:24
650
原创 Scrum 之 检查单
一位合格的ScrumMaster通常能够同时处理2到3个团队的事务。如果你愿意把你的角色限制在组织会议,控制时间盒以及处理团队成员提出的障碍的话,你可以将这个角色当作成兼职来对待。在这种情况下,团队仍然有可能达到预期的目标,而且有可能不会发生什么重大事故。但是如果你展望团队能够做到你之前无法想象的事情的时候,你就成为了一位出色的ScrumMaster。一位出色的ScrumMaster一次能
2016-04-29 20:10:02
801
2
原创 Scrum 之 每日站会
目的: 在介绍如何开每日站会前, 让我们先了解一下召开每天的站会的目的和意义是什么?敏捷宣言强调个体交互重于过程和工具,敏捷原则阐述了面对面的沟通和自组织的团队这些敏捷的核心思想。Scrum的团队是一个自组织的团队,团队每天进行每日站会是团队面对面沟通和团队自组织的体现。Scrum的理论基础是通过保持过程透明性让参与过程的所有人了解真实状况,然后进行检查和调整,每日站会是Sc
2016-04-27 20:13:48
5205
3
原创 Scrum 之 敏捷估算
无论是团队研发一款产品或者开发某一个项目,我们都需要回答“我们大概什么时间能够完成?”, 或者到某一个时间点,我们能够做到什么程度, 因此和传统的开发模式一样,我们在工作开始之前需要对我们需要做的事情进行工作量的估算。敏捷估算的特点: 团队集体估算 在Scrum的开发过程中,团队共担责任,集体承诺每个Sprint的工作,因此对于工作量的估
2016-04-26 20:11:38
6125
2
原创 Scrum 之 用户故事
什么是用户故事? 用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素: 1. 角色:谁要使用这个功能。 2. 活动:需要完成什么样的功能。 3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值。 用户故事通常按照如下
2016-03-30 20:06:18
3493
原创 Scrum 之 团队
开发团队 在传统的工作方式下,开发团队会有很多不同的角色,比如项目经理、产品经理、架构师、设计师、用户体验设计师,程序员,测试人员,DBA等等。但是,在Scrum的工作方式下,总共只有三个角色, 这三个角色分别是产品负责人(PO),Scrum Master和开发团队。 我们通常可以以划龙舟的团队角色来类比Scrum的角色,划龙舟通常有舵手、鼓手、
2016-03-30 11:10:24
2903
3
原创 Scrum 之 四大支柱和价值观
Scrum的四大支柱1.迭代开发 在Scrum的开发模式下,我们将开发周期分成多个1-4周的迭代,每个迭代都交付一些增量的可工作的功能。迭代的长度是固定的,如果我们选择了1周的迭代,那么保持它的长度不要发生变化,在整个产品开发周期内每个迭代都是1周的长度。这里需要强调的是在每个迭代必须产出可工作的增量功能,而不是第一个迭代做需求、第二个迭代做设计、第三
2016-03-27 14:52:36
6916
1
原创 Scrum 之 活动
产品待办事项列表梳理 产品待办事项通常会很大,也很宽泛,而且想法会变来变去、优先级也会变化,所以产品待 办事项列表梳理是一个贯穿整个Scrum项目始终的活动。该活动包含但不限于以下的内容: 1.保持产品待办事项列表有序 2.把看起来不再重要的事项移除或者降级
2016-03-25 10:00:32
1113
1
原创 Scrum 之 工件
Scrum 的工件以不同的方式展现工作和价值,可以用来提供透明性以及检验和适应的机会。Scrum 中所定义的工件能最大化关键信息的透明性,来保证 Scrum 团队成功地交付完成的增量。Product Backlog – 产品待办事项列表 产品待办事项列表是一个排序的列表,包含所有产品需要的东西,也是产品需求变动的唯一来源。产品负责人负责产品待办
2016-02-29 16:06:32
2065
4
原创 Scrum 之 角色
Scrum团队中包括三个角色,他们分别是产品负责人、开发团队和 Scrum Master。 Scrum 团队是自组织、跨职能的完整团队。自组织团队决定如何最好地完成他们的工作,而不是由团队外的其他人来指挥他 们。跨职能的团队拥有完成工作所需要的全部技能,不需要依赖团队外部的人。Scrum 团队模式的目的是最大限度地优化适应性、创造性和生产力。Scrum 团队通过迭代和增量交付
2016-02-28 19:25:48
1442
3
原创 Scrum 之 起源
Scrum的原始含义 Scrum原始含义是指英式橄榄球次要犯规时在犯规地点对阵争球。争球双方各有8个队员参与,各方出3名前锋队员,并肩各站成一横排,面对面躬身互相顶肩,中间形成一条通道,其他前锋队员分别站在后面,后排队员用肩顶住前锋队员的臀部,组成3、2、3或3、4、1阵形。然后,由犯规队的对方队员在对阵一侧1码外,用双手低手将球抛入通道,不得有利于本队。当球抛入通道时,前排的3
2016-02-27 14:58:51
4601
5
原创 Scrum 之 概述
什么是Scrum? Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprint)。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列
2016-02-27 14:45:35
1379
5
原创 JS 之 下拉框三级联动(二)
中国地区三级联动下拉菜单 所在地: setup() function Dsy() { this.Items = {}; } Dsy.prototype.add = function(id,iArray) { this.Items[id] = iArray; } Dsy.prototype.Exists = functi
2016-01-31 22:40:04
2469
2
原创 JS 之 下拉框三级联动(一)
纯JS省市区联动省:市:区:省:市:区:addressInit('cmbProvince', 'cmbCity', 'cmbArea', '陕西', '宝鸡市', '金台区');addressInit('Select1', 'Select2', 'Select3');var addressInit = function(_cmbProvince, _cmbC
2016-01-31 21:32:05
6970
原创 Oracle 之 TX锁
许多对Oracle不太了解的技术人员可能会以为每一个TX锁代表一条被封锁的数据行,其实不然。TX的本义是Transaction(事务),当一个事务第一次执行数据更改(Insert、Update、Delete)或使用SELECT… FOR UPDATE语句进行查询时,它即获得一个TX(事务)锁,直至该事务结束(执行COMMIT或ROLLBACK操作)时,该锁才被释放。所以,一个TX锁,可以对应多个被
2016-01-31 21:24:01
4601
原创 Oralce 之 TM锁
Oracle的DML锁(数据锁)正是采用了上面提到的多粒度封锁方法,其行级锁虽然只有一种(即X锁),但其TM锁(表级锁)类型共有5种,分别称为共享锁(S锁)、排它锁(X锁)、行级共享锁(RS锁)、行级排它锁(RX锁)、共享行级排它锁(SRX锁),与上面提到的S、X、IS、IX、SIX相对应。需要注意的是,由于Oracle在行级只提供X锁,所以与RS锁(通过SELECT … FOR UPDATE语句
2016-01-28 23:49:10
1356
6
原创 Oracle 之 锁
1.什么是锁? 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在
2015-12-30 22:27:54
1089
9
原创 Oracle 之 for update 与for update skip locked
在我们日常操作Oracle数据库的时候,我们经常会使用 select for update 来修改我们的查询结果,所以select for update语句是对select 查询结果加行锁。那么select for update skip locked 语句又有什么用呢? 如果我们在session1中执行以下语句:select * from user where use
2015-12-30 22:18:41
11870
8
原创 Windows7 计划任务创建说明
通过上一篇博客《Windows Server 2003 R2 计划任务创建说明》给大家介绍了如何在Windows Server 2003 R2系统上创建一个计划任务,今天继续给大家介绍一下在Windows7系统上如何创建一个计划任务1.打开控制面板 2.选择系统和安全 3.选择管理工具 4.选择任务计划程序 5. 选择任务计划程序
2015-12-28 21:22:15
4117
9
原创 Windows Server 2003 计划任务创建说明
什么是计划任务? 在日常的工作中,我们都有一些固定的或临时性的工作,而每次在爱机前一坐,就不愿再起身,你是否也曾因沉迷于游戏而忘了事先的计划或约会呢?在Windows中,系统有一项重要的“计划任务”功能,通过设置“计划任务”,你可以将每天或某一天的某个时间需要做的事拟成计划,到约定的时间,不管你在电脑上进行什么工作,系统都会提醒你或者启动你设定好的任务程序怎么样创建一
2015-12-28 21:09:21
15838
6
原创 JS 之 验证数字
通过上两篇博客《JS 之 验证电话号码》和《JS 之 验证日期格式》给大家介绍了一下通过正则表达是验证电话号码和日期格式,今天给大家介绍一下JS怎么验证数字。IsNumber2('嘻嘻','*123.20-','1','3');IsNumber2('呵呵','3.99999','1','3');IsNumber2('哈哈','-3.999','1','3'); f
2015-11-30 22:45:07
1428
5
原创 ORA-01861: 文字与格式字符串不匹配
今天拼一个Insert的SQL语句往Oracle数据库中插入一条数据,但是其中有一个Date类型的字段,如:insert into BOOK values(1001,'oracle数据库','冶金工业出版社','2007/12/28 10:07:24',38) 这样写的话就会报错:ORA-01861: 文字与格式字符串不匹配! 如果我们把日期用to
2015-11-30 21:05:49
1747
1
原创 JS 之 验证电话号码
在我们日常开发中经常需要对文本框的输入值进行一系列的验证,比如说,验证是否为空;是否有特殊字符;是否是数字等等,今天给大家介绍一下利用正则表达是验证电话号码(包括手机,固定电话,带区号,不带区号)IsTelephone("187306547890"); //超过11位IsTelephone("0136-100861111"); //带区号 超过8位IsTelephone
2015-11-29 23:56:23
3387
10
原创 C# 之 管理配置文件(三)
通过上两篇博客《C# 之 管理配置文件(一)》和《C# 之 管理配置文件(二)》给大家介绍了一下对我们传统的app.config或者web.config配置文件和ini文件中配置变量的读取和写入,今天继续来给大家介绍一下对xml文件中配置变量的读取和写入。 首先我们创建一个Test.xml的文件,其内容为: 2015/10/21 17:06:38
2015-10-31 21:34:06
1186
5
原创 C# 之 管理配置文件(二)
通过上一篇博客《C# 之 管理配置文件(一)》给大家介绍了一下对我们传统的app.config或者web.config配置文件中配置变量的读取和写入,今天来给大家介绍一下对ini文件中配置变量的读取和写入。 首先我们创建一个Test.ini的文件,其内容为:[DateTime]Value=2015/10/21 17:06:38 编写读取和写入方法
2015-10-28 21:11:07
1383
9
原创 C# 之 管理配置文件(一)
说到配置文件大家首先想到的就是app.config或者web.config。今天就开始给大家分享怎么样管理配置文件,说是管理,其实就是读和写。今天先给大家介绍最常见的*.config配置文件的读和写。 首先,如果我们想在app.config文件中保存一个变量的时候,我们会这样写: 编写我们的读和写的方法 //
2015-10-21 22:05:20
2308
8
原创 C# 之 获取当前路径
在我们平常的开发工作中,经常会遇见关于文件路径的问题,今天就总结一下怎么样获取当前路径的几种方法。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Configuration;namespace ConsoleApplication2
2015-10-21 21:30:14
1276
8
空空如也
EntityFramework连接MySQL
2015-01-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人