自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 局部变量如果是对象并发会不安全吗

今天在看深入理解java虚拟机时看到一段话,大意是说JMM模型不会对局部变量及方法参数实施内存一致性协议的约定,方法参数好说,因为是线程栈内部的数据,是线程私有的,但是局部变量如果是对象呢,线程持有的是对象的引用,如果多个线程同时对对象修改呢?为此特意做了个实验: Thread hello = new Thread(new Runnable() { @Override public void run() { try {

2020-10-19 11:16:40 278 1

原创 三个线程输出abc,cba解法

思路:同步变量修饰:changeFlag,用来控制输出反转 aFlag,通知A线程是否输出,依次B,C线程一样 while循环用来持续尝试。类似自旋锁get到的知识点:写程序临界点一定要思考全面 wait和sleep区别:释放监视器。wait会释放锁,所以必须在同步块中使用 多线程的调试 多层循环跳出 continue跳出当次循环,不执行后续代码 break跳出当前循环,进入外层大循环 return直接跳出所有循环 ...

2020-09-27 17:52:04 574

原创 第十五章 项目收尾与验收

项目收尾概述当一个项目的目标已经实现,或者明确看到该项目的目标已经不可能实现时,项目就应该终止。项目结束项目结束就是项目的实质工作已经停止,项目不再有任何进展的可能性,项目结果正在交付用户使用或者已经停滞,项目资源已经转移到了其他项目中,项目团队正在解散的过程。项目结束有两种情况:一是项目任务已顺利完成,项目目标已成功实现,项目正常进入项目生命周期的最后一个阶段——结束阶段,这种状况下的项目结束为项目正常结束,简称项目终结。二是项目任务无法完成,项目非正常结束,简称项目终止。项目成功与失败的

2020-09-23 14:37:53 1165

原创 第七章 项目招投标与合同管理

项目采用招标方式来确定开发方或软件提供商,是大项目普遍采用的一种形式。招投标的基本程序

2020-09-22 14:26:15 194

原创 第十一章 软件项目风险管理

风险管理被认为是软件项目中减少失败的一种重要手段。成功的项目就是采取积极的步骤对要发生或即将发生的风险进行管理。项目风险管理概述风险就是在项目过程中有可能发生的某些意外事情,而且在最糟糕的情况下将对项目产生巨大的负面影响甚至导致失败。风险管理就是对项目风险从识别到分析乃至采取应对措施等一系列过程,它包括将积极因素所产生的影响最大化和使消极因素产生的影响最小化两方面内容。风险概述风险概念:指一定条件下和一定时期内可能发生的各种结果的变化程度。风险带来的不都是损失,也可能存在机会,这就是风险的本

2020-09-10 16:46:42 272

原创 第十章 软件项目的成本管理

成本管理的概念项目成本管理主要与完成活动所需资源的成本有关。狭义的项目成本是指因为项目而发生的各种资源耗费的货币体现。项目成本管理是指为保障项目实际发生的成本不超过项目预算,使项目在批准的预算内按时,按质,经济高效的完成既定目标而开展的成本管理活动。成本管理包括项目资源规划,项目成本估算,项目成本预算,项目成本预算,项目成本控制等过程。资源规划:确定为完成项目诸工序,需用何种资源及每种资源的需要量。 项目成本估算:编制为完成项目各工序所需的资源的近似估算总费用。 项目成本预算:将总费用精确估

2020-09-09 17:27:42 502

原创 第九章 软件项目的时间管理

软件项目管理时间概述项目时间管理又称为进度管理,是指为保证项目各项工作及项目总任务按时完成所需要的一系列工作与过程。时间管理的主要目标是最短时间,最低成本,最小风险,即在给定的限制条件下,用最短时间,最低成本,以最小风险完成项目工作。时间是一种特殊的资源,以其单向性,不可重复性,不可替代性而有别于其他资源。基本概念项目活动:为完成工程项目而必须进行的具体的工作。项目活动是编制进度计划,分析进度状况和控制进度的基本工作包。 工程进度:指活动或工作进行的速度,工程进度即为工程进行的速度。工程进度计

2020-09-08 17:24:04 762

原创 第八章 软件项目需求与变更管理

对于开发应用系统,软件产品的所有项目而言,好的需求管理是成功的关键因素。软件项目需求管理概述随着软件规模的不断扩大,20世纪80年代中期,形成了软件工程的子领域——需求工程。需求工程包括需求开发和需求管理。需求开发是对软件项目需求的获取、分析、规格说明及验证等内容。需求管理的目的就是要控制和维持需求的事先约定,保证项目开发过程的一致性,使得客户得到他们最终想要的产品。软件需求定义软件需求是需求开发和需求管理的桥梁。软件需求具有模糊性,不确定性,变化性和主观性的特点。需求分析是指软件分析人员通

2020-09-08 14:29:24 432

原创 写的比较好的博客

关于锁(偏向,轻量锁,重量锁,synchornized)讲解:https://www.cnblogs.com/charlesblc/p/5994162.html

2020-09-07 18:11:20 78

原创 第六章 项目可行性研究与启动

项目识别市场需求是软件项目产生的根本项目机会研究现代项目管理认为项目是将人们的设想变为现实的一项根本手段。 发现问题并提出设想:发现问题是项目的起点 项目机会研究:机会研究是项目产生的重要方式。软件项目通常有集中产生方式: 企业自己寻找项目机会 从外界引入 项目的提出者做完了所有的论证工作,并引入风险投资,确定项目 外部环境变化,引发了一个项目。 识别需求提出项目建议书在分析了机遇和条件以后,还需要进一步分析

2020-09-03 17:02:05 190

原创 第五章 项目沟通与冲突管理

沟通失败常常是项目——特别是软件项目成功的最大的威胁,沟通是保持项目顺利进行得润滑剂。项目沟通管理就是要保证项目信息及时、准确的提取、收集、传播及最终进行处置。保证项目团队的信息顺畅。项目冲突时项目内外某些关系不协调的结果,一定形态的项目冲突的发生表明了该项目在某些方面存在问题项目沟通管理软件项目成功的3个主要因素是:用户参与、主管层的支持和需求的清晰表达。项目沟通管理概述项目沟通是以项目经理为中心,纵向对高层管理者、项目发起人、团队成员,横向对职能部门、客户、供应商等进行项目信息的交换。沟

2020-09-02 17:33:00 485

原创 第四章 人力资源管理与团队建设

团队是软件项目流行的作业方式和方法,进行高效的团队建设是项目人力资源管理的重要内容。人力资源管理21世纪是一个高度合作又激烈竞争的时代,这种竞争主要是科学技术的竞争和人才的竞争。项目人力资源管理概述项目人力资源管理就是根据项目的目标,项目活动进展情况和外部环境的变化,采取科学的方法,对项目团队成员的思想、心理和行为进行有效的管理,充分发挥他们的主管能动性,实现项目的终极目标。项目人力资源管理的重点集中在两个方面:一是针对个人的,如工作委派,培训,激励等。另一方面是针对团队的,如团队建设,

2020-09-01 16:53:45 285

原创 第三章 项目经理与项目组织

组织是一切管理活动取得成功的基础,包括与他要做的事相关的人。在项目中,项目组织是所有活动的焦点。项目相关利益主体自项目的概念产生之后,围绕着项目就存在这与项目利益直接或间接相关的个人或组织,这些个人或组织被称为项目的利益先相关主体。项目主要的利益相关主体一个项目的主要相关利益主体包括下述几个方面: 项目的业主:项目业主是一个项目的最终决策者。 项目的客户:项目的客户是使用项目成果的个人或组织。 项目经理:项目经理是负责管理整个项目的人。 项目实施组织:项目

2020-09-01 12:26:45 405

原创 第二章 项目的生命期和管理过程

目录项目的生命周期项目生命周期软件项目生命周期的划分软件项目管理过程项目的管理内容项目的管理过程项目过程的相互作用项目管理与软件产品管理的关系课后题现代项目管理理论认为任何项目都是由两个过程构成的,其一的是项目的实现过程,其二是项目的管理过程,所以现代项目管理特别强调项目管理的过程性和阶段性。项目的实现过程是指人们为创造项目的产出物而开展的各种活动所构成的过程(一般也将此称为项目过程)。项目的实现过程一般用项目的生命周期来说明和描述他们的活动和内容。项目的生命周期

2020-09-01 11:08:02 348

原创 第一章 软件项目管理概述

​​项目及其特征项目定义所谓项目,就是在既定的资源和要求的限制下,为实现某种目标而相互联系的一次性的工作任务。中国项目管理委员会对项目的定义是:项目是一个特殊的将被完成的有限任务,他是在一定的时间内,沐足一系列特定目标的多项相关工作的总称。 项目是一项有待完成的任务,有特定的环境和要求 项目必须在一定的组织机构内,利用有限的资源在规定的时间内完成任务 项目任务要满足一定性能,质量,数量,技术指标等要求 项目与日常工作的不同点体现在:日常工作通常具有连续性和重复性,而项目具有时限性

2020-08-31 15:32:09 180

原创 快排Java实现

public static void main(String[] args) { int[] arr = {23, 45, 17, 11, 13, 89, 72, 26, 3, 17, 11, 13}; quickSort(arr, 0, arr.length -1); System.out.println(arr);}public static void quickSort(int[] arr, int begin, int end) { if (begin &lt

2020-06-03 13:51:56 274 1

原创 类图怎么看

实现:空心三角形+虚线,三角形方表示被实现的接口 继承:空心三角形+实现,三角形方表示被继承的类 关联:实线箭头,当一个类知道另一个类时,可以用关联。 聚合:空心菱形+实线箭头,聚合表示一种弱的拥有关系,空心菱形方表示拥有方,箭头方表示被拥有方 组合:实心菱形+实线箭头,组合表示一种强的拥有关系,实心菱形方表示拥有方,箭头方表示被拥有方...

2020-06-01 15:53:17 407

原创 redis实现分布式锁思路

1.利用redis的setnx命令:setnx name value ,如果对应的name没有被设置过,则会设置成功,如果设置过,则返回失败。2.expire命令:可以对name设置过期时间,防止持有锁的线程因为意外情况挂掉,导致业务阻塞。3.redis是单线程的机制。Ps: 第二条中expire命令的过期时间需要对锁住的业务操作进行耗时预算,可以对业务操作多次运行取平均值t,将过期时...

2020-04-07 20:45:38 112 3

原创 算法--递归

递归包含两个主要的部分:基线条件---决定何种情况下退出递归 递归条件---决定何种情况下进入下次递归本质上递归就是方法自己调用自己,循环调用自己,所以一定要注意基线条件的设置,并且要保证一定不要出现调用栈太深,导致OOM.下面是一个小的递归求和的例子: public static void main(String[] args) { List<Intege...

2019-12-17 11:15:58 74

原创 Hbase分页查询的实战方案

hbase的rowkey是字典排序(如果不明白字典排序,可以百度搜索一下),所以利用这一个特性,是后插入进去的数据的rowkey在按字典排序是排在先插入的数据之前,这样查询出来的数据就是按照创建时间的顺序排列好的。 hbase提供了很多filter,可以利用pagingFilter,同时利用scan.setStartKey()来设置第一条数据的rowKey. 按字段查询可以添加过滤器链,使用s...

2019-12-11 10:23:02 792

原创 泛型方法的写法

public static <T> List<T> get(List<T> ts) { for (T t : ts) { System.out.println(JSONObject.toJSONString(t)); } return ts; }

2019-11-28 11:09:07 952

原创 git常用命令详解

git查看当前系统是否安装有git版本管理工具git log查看提交历史。如果想简化显示,可以加上 --pretty=oneline,git log --pretty=onelinegit status查看当前版本库的状态git remote查看远程分支信息,参数-v可以查看详细信息git config --global user.name “your name”...

2019-11-01 10:42:24 170

原创 编译器,解释器及由此产生的指令重排

首先说一下编译器和解释器的区别:编程语言有很多种,类似php,javaScript,java,python等,其中javaScript就是解释性语言 编译器:将所有的代码一次编译,行程可运行的程序,之后再可运行平台上运行 解释器:解释一行代码,执行一行代码编译器和解释器的执行过程:解释器:词法分析->语法分析->语义分析->执行编译器:词法分析->语法分析...

2019-10-30 17:52:35 310

原创 http前后端传参写法

HTTP是常用的B/S架构的前后端交互协议,springboot对http接口的传参有以下几种参数接收方式 @RequestMapping(path = "/test") @ResponseBody public String testProject(){ return "hello world!"; } /** *json提交数组...

2019-10-27 11:09:49 607

原创 普通java项目整合日志框架及自定义数据库appender的实现和使用

pom文件:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> &lt...

2019-06-19 16:38:06 663

原创 开启debug服务和远程监视服务

nohup java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9982 -Xmx128m -Xms64m -Djava.rmi.server.hostname=192.168.103.11 -Dcom.sun.management.jmxremot...

2019-06-13 15:34:06 208

原创 springboot整合druid连接池及配置多数据源和druid监控

Pom文件引入相关jar,此处不再赘述,问百度。application.properties:spring.datasource.business.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.business.driver-class-name=com.mysql.jdbc.Driverspring.dat...

2019-06-12 18:03:20 5611

原创 xxl-job调度是jobhandler not found

1.时间是否一致2.是否在xxl-job中存在两个@jobhandler注解的value名称和springbean的名称一样的任务,xxljob是根据value和spring bean的名字来唯一确定一个任务(亲测好使)...

2019-06-06 17:42:01 15465 6

原创 axios下载excel文件

后台:ServletOutputStream os = response.getOutputStream();String mimeType = "application/msexcel";response.setContentType(mimeType);String headerKey = "Content-Disposition";String headerValue = St...

2019-05-27 14:40:23 448

原创 线上打包和本地打包的区别

本地打的包对依赖的jar包是从本地仓库中取,所以如果多模块项目中自己写的被依赖的模块要保证私服中始终是最新的代码,及时安装到本地。线上使用jenkins打的包是从私服上拉代码,所以要保证本地修改在打包前一定要提交到私服上。jenkins打的包和本地不一样是,考虑以下方面,看看服务器时间是否不一样,或者在jenkins的代码拉取是加上@head。...

2019-05-23 13:58:42 3372

原创 java多线程-synchronized的缺陷

synchronized关键字可以用来同步方法和代码块,保证在同一时间只有一个线程能访问被同步的代码。但是其有两个缺点:1.无法控制阻塞时长2.阻塞不可中断 public synchronized void syncMethod(){ try { TimeUnit.HOURS.sleep(1); } catch (Interru...

2019-05-16 19:23:47 502

原创 springboot在application.properties中注入map,list及单个值

类中:类上标注@propertySource单个值注入用@value("${xxx}")xxx=1,2,3,4注入list:@Value("#{'${xxx}'.split(',')}")private List<String> xxx;xxx={1:'COE',2:'MKM',3:'STO',4:'PEK_POST'}注入map:@Value(...

2019-05-15 15:58:50 8630

原创 urule客户端和服务器配置

urule服务端配置(包含数据库的配置):pom文件:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http...

2019-05-13 17:35:03 4260

原创 excel替换固定sql中的某个值实现批量导入

原始SQL:INSERT INTO cbc_organize_agent_number_pool (agent_id,agent_code,agent_name,number,have_been_used)VALUES('4','2',NULL,'BS040499730CN','1');需求:需要将中间的运单号替换为新的值,并且更改运单号状态为0.方法:excel中公式写法:=“ INS...

2019-05-10 17:56:14 745

原创 mybatis结果映射错误及由此引发的深入思考

mybatis在进行复杂对象的结果映射时,会根据配置的resultmap的第一个result标签分组,所以第一个配置的结果列非常重要,会对结果中包含的集合对象的映射产生严重影响。并且,当查询结果中有多个列名一样是,必须为他们另起不一样的别名,否则也会导致结果映射错误。...

2019-05-09 16:56:23 696

原创 springboot下工厂对象及对象单例

目录结构如下接口类public interface EtkClient { static EtkClient getInstance(){ return null; } String getToken(); String getTokenKey(); String getUrl(); String get...

2019-04-17 13:29:22 1481

原创 多模块打包遇到的坑

用来将jar包打成springboot的格式,如果不是web模块,而是web的依赖模块不应该依赖此jar包。正常打包和加入插件后打出的包的对比:不添加:添加之后:...

2019-04-16 09:38:25 246

原创 Windows下为jdk建立软连接

命令:mklink /D link(这个是要建立的链接文件夹) target(目标文件夹)最后在建立一个jdk目录,让环境变量指向jdk,这样,当项目需要不同的jdk文件后,可以不用每次安装jdk,只要改变一下环境变量指向的实际jdk版本即可。...

2019-04-08 15:09:02 618

原创 easyui刷新当前tab页

$('#main-tab').tabs('add', { title: config.title, content: tabHtml, id: config.id, cls: "ex-tab", closable: true, ...

2019-04-02 09:44:28 1146

原创 解决spring循环调用

解决思路:找到循环调用的循环轨迹解决方法:在循环路径中任意选取合适的bean,使其实现applicationContextAware,通过applicationContextAware剪断循环,使其依赖的下一个bean在具体使用到时再去取出,而不是在spring的bean容器初始化是就将依赖注入。...

2019-03-05 10:49:55 482

空空如也

空空如也

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

TA关注的人

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