java
文章平均质量分 55
一剑轻语
这个作者很懒,什么都没留下…
展开
-
代码优化实例
代码优化实例原创 2022-07-04 14:40:25 · 320 阅读 · 1 评论 -
java实现字符串匹配(?代表一个字符,*代表0到多个字符)
java实现字符串匹配(?代表一个字符,*代表0到多个字符)转载 2022-06-27 16:00:53 · 1507 阅读 · 0 评论 -
配置通用页面,简化开发
背景:入职新公司了,开发内容和以前差距好大,最近有点忙,现在把一些内容记录一下以前页面:以前公司写页面都是这样。一般加个页面会加一个表。然后针对这个表写一套内容。包含前台页面,后台控制层,服务层,到场,mybaties等。新公司页面:新加页面时通过配置实现。(展示list页面和提交form页面)。配置字段内容。在写上对应的sql就可以了。只需要写配置和sql。基于此:首先我们有菜单配置,界面配置,list配置,查询配置,按钮配置,form配置,隐藏域配置等等。可以写在数据库,然后页面配置。首原创 2020-10-23 11:27:59 · 298 阅读 · 0 评论 -
java 内存溢出快速定位
背景:线上数据传输功能开启一段时间后就会出现内存溢出个人理解:内存溢出,说明要不然获取到大量数据导致内存溢出,要不然就是数据无法释放,随着时间堆积越来越多。日志:查看日志定位是数据传输处的内存溢出导致的,该模块并非使用的定时任务,而是项目启动时运行,while(true)循环推送数据,推送完成后sleep5秒。初步以为是里面的对象未释放,但检查后发现所有对象使用完以后都置为null了。检查方式:使用jdk的工具jconsole.exe,jvisualvm.exe进行检查本地程序运行以后,.原创 2020-06-19 16:04:43 · 1284 阅读 · 0 评论 -
synchorized 的使用介绍
背景:给智能柜加上锁,保证多个用户同时存物的时候,不会出现多个人打开同一个智能柜门的情况synchorized介绍:synchorized包含两个部分,一个是锁,一个是被锁的内容当多个线程到达synchorized时,会判断他的锁,如果该锁正在使用中,那么他就要等待使用的人用完了才可以用该锁进去,没被使用的话则可以直接访问。PS:使用锁需要注意的是锁不能有多个。即锁之间要全等。例如A、...原创 2020-04-01 22:15:39 · 763 阅读 · 0 评论 -
socket 发送接收16进制数据
背景:做了个智能柜管理系统,需要和智能柜对接。交互使用的是socket。转换逻辑:发送规则:数据(1)---->16进制(0x01)---->高4位(0x00)、低四位(0x01)---->10进制(0、1)---->ansi码(48,49)---->16进制(0x30,0x31)---->发送ansi如图发送接收数据:start为码头,en...原创 2020-03-19 13:34:18 · 9630 阅读 · 1 评论 -
程序包找不到
背景:新引入了一个项目,启动时出现了程序包找不到的错误。错误原因:提示的很清楚,找不到相应的程序包,就是你引用了该包,但是依赖中没有找到解决思路:1)找到你对应的import对应的软件的pom.xml。2)查看错误原因 1.查看是否引入了该包。如果引入了,但是出错,一般是jar文件下载到本地仓库时失败了,删除本地仓库的jar包,重新下载,或者拷贝同事的本地仓库的jar包。...原创 2019-10-30 11:20:59 · 2035 阅读 · 0 评论 -
snaker工作流 之数据库变化
官方下载snaker工作流后,有25个表conf_dictionaryconf_dictitem实现字典表功能df_fielddf_formdf_form_tabledf_tablesec_authority 功能表sec_authority_resource 功能位置关联sec_menu 菜单表sec_org 部门表sec_res...原创 2018-05-18 17:42:53 · 1605 阅读 · 0 评论 -
Activity服务类-4HistoryService历史服务
一共个方法15个方法 用于查询历史工作流信息1.创建查询(7个方法)//创建一个新的编程查询来搜索{@link HistoricProcessInstance}。HistoricProcessInstanceQuery createHistoricProcessInstanceQuery();//创建一个新的编程查询来搜索{@link HistoricActivityInst...原创 2018-04-27 16:28:38 · 3737 阅读 · 0 评论 -
Activity服务类-6ManagementService管理服务
一共含有17个方法一般情况用到managermentService 的方法还是比较少的,但是也会遇到,最近就遇到需要回退功能。PS:明明下一流程驳回就可以了,非要自己可以手动回退,提需求的都是大爷,按他要求做呗。PS:以后遇到这些问题一定要拒绝,工作流就应该在画图前确定好整个流程,违背流程的都应该学会拒绝,把图片甩他脸上,对,就是这样。// 获取包含了Activiti数据库模式的{...原创 2018-04-27 15:47:11 · 4447 阅读 · 0 评论 -
部署项目(vue+springboot)
背景:昨天刚部署了新项目,现在记录一下。以前都是在Linux服务器上部署项目,是将整个项目作为war包放到服务器的Tomcat上运行的,昨天是部署的前后端分离项目,前端用的vue,后端打成jar包部署的。前端部分:使用npm run build 命令,生成dist文件。将文件放到服务器上,然后使用nginx,代理路径即可。 注意点,1.index.html即为首页。本地打不开是因...原创 2019-05-16 15:19:22 · 2067 阅读 · 0 评论 -
Excel导出
背景:Excel导出,以前都是有模板,这次没有模板,记录一下。 @GetMapping("/excelDownLoad") public @ResponseBody void excelDownLoad(CompanyUser companyUser,HttpServletResponse response){ List<CompanyUser> list =signSe...原创 2019-08-17 00:53:31 · 120 阅读 · 0 评论 -
jdk源码学习——总览
背景:准备看一下jdk的源码。用的是jdk8,但是网上只找到了7的文档。当然我是直接看jdk的。这个可以当做目录。规划下自己看到哪儿了。网站:http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4java下包含14个包.(PS:javax和org留待后面在看。一步一步来)一.java.applet.*小的应用程序,有画图,播放音乐等...原创 2019-08-22 22:47:50 · 132 阅读 · 0 评论 -
jdk源码学习——java篇——java.io.*
java.io.*包含了11个接口和72个类接口:java.io.Closaable,继承自AutoCloseable。含有一个close方法java.io.dataInputjava.io.dataOutput数据输入输出io接口涉及到数据和流的基本都是成对的,一个入一个出。java.io.Serializable仅一个接口名,无名称。序列化接口java.i...原创 2019-08-26 23:26:39 · 672 阅读 · 0 评论 -
java.io接口——dataInput和dataOutput
dataInput 共15个接口,2个读取方法(一个全读,一个读写指定位置),1个跳过的方法。10个读取基本字节的方法(boolean,byte,short,char,int,long,float,double,两个UnsignedByte,UnsignedShort,不带正负号的)1个读取一行,1个读取utf-8字符串void readFully(byte b[]) throws IOEx...原创 2019-09-02 23:07:13 · 1182 阅读 · 0 评论 -
java.io接口——ObjectInput和ObjectOutput
ObjectInput 对象输入,继承DataInput,AutoCloseable public Object readObject() throws ClassNotFoundException, IOException; public int read() throws IOException; public int read(byte b[...原创 2019-09-02 23:23:10 · 806 阅读 · 0 评论 -
Jeesite 工作流由用户选择0,1,2人加签
目的:用户提交时可以选择是否含有项目经理和产品经理,如果有则他们先审批(同时审批),然后走正常流程,无的话直接走正常流程正常流程:提交人-主管-商务部长(性质重大需要市场营销总经理审批)-财务总监(性质重大到总经理)-完结增加一部分:在主管前加上产品经理和项目经理(PS:提交人自己选择可有可无)实现步骤:因为是产品经理和项目经理同时审批选择并行网关,用户未选择的时候走正...原创 2018-05-22 17:13:08 · 1549 阅读 · 0 评论 -
@GetMapping,@PostMapping,@PutMapping注解无value值时的情况
背景:来新公司看了一下公司的代码,发现很喜欢不写value值。都是@GetMapping,@PostMapping,@PutMapping等知识:这三个注解都是基于@RequestMapping来的 @RequestMapping有多个属性。而@GetMapping()=@RequestMapping(method=RequestMethod.Get)。@PostMap...原创 2019-04-03 14:53:02 · 13545 阅读 · 1 评论 -
文件上传
实现:文件上传,下载功能问题:HTML的文件上传后台怎么实现?前台<input type="file"> 后台怎么获取该文件并下载?学习HTML的时候知道这是文件上传,但是没写过后台的实现,网上找了很多,但是要导包,而且许多都是优化,我现在只需要这个功能实现即可主要问题是我不知道后台怎么获取该元素,找了许久终于找到@RequestParam("file")MultipartFile f...原创 2018-02-23 17:06:07 · 123 阅读 · 0 评论 -
jeesiite 流转信息中的审核人意见乱码
问题:jeesite框架工作流中审核人审核意见出现乱码 如下图一般乱码无外乎格式转换出现错误,utf-8,gbk,iso-8859-1之类的,这种乱码一般全乱了,可是这个问题有些奇怪,因为有的人的审核意见是乱码,而有些人的审核意见是OK的。解决步骤: 1.定位,找到错在哪里点击跳转到去控制层找到histoicFlow打断点寻找原因就是这货,试着各种转码输出,全部不行,无法还原成汉字,最接近的...原创 2018-03-22 21:35:13 · 659 阅读 · 3 评论 -
Activity服务类-8RuntimeService 运行时服务
一共89个接口1.启动流程实例(20个方法)//使用给定的键在流程定义的最新版本中启动一个新的流程实例。 ProcessInstance startProcessInstanceByKey(String processDefinitionKey);//同上 ProcessInstance startProcessInstanceByKey(String processDefinitionKey...原创 2018-03-29 17:48:40 · 4295 阅读 · 0 评论 -
Activity服务类-2.EngineService 引擎服务
一共提供了9个接口 //获取RepositoryService RepositoryService getRepositoryService(); //获取RuntimeService RuntimeService getRuntimeService(); //获取FormService FormService getFormService(); //获取TaskServic...原创 2018-03-29 18:06:45 · 1513 阅读 · 0 评论 -
自定义标签和include来实现分页
背景:之前关于分页用的是<%@include file="" %>来包含分页的相关数据,来公司后才发现也可以用自定义标签来实现分页include来添加分页需要添加PageObject对象包含以下信息传入到前台 /**当前页*/ private Integer pageCurrent; /**起始记录数*/ private Integer startIndex; /**总记...原创 2018-03-20 17:34:25 · 407 阅读 · 0 评论 -
2018刑侦科推理试题java解法
//第9题判断public class demo02 { public static boolean panduan(int i1,int i5,int i6,int x){ boolean a = i1==i6; boolean b = x==i5; if(a==true&&b==false){ return true; }else if(a==false&&...原创 2018-03-06 15:58:59 · 515 阅读 · 2 评论 -
Activity服务类-7RepositoryService服务类
一共47个接口1.创建部署//开始创建一个新的部署。 DeploymentBuilder createDeployment();2.删除部署(3个)//删除给定的部署。 void deleteDeployment(String deploymentId); //将给定的部署和级联删除删除到流程实例、历史流程实例和作业。 void deleteDeploymentCascade(String ...原创 2018-04-03 09:40:46 · 7191 阅读 · 0 评论 -
jeesite工作流使用
问题:jeesite工作流如何使用?背景:公司没人熟悉工作流,现在要上线办公系统,请假,加班,报销,预审批,用印,付款等工作流要写,之前有简单版本,但是用哪个写工作流要画好多流程图(委派人写了人名,而不是后台定义的),等到发现可以后台定义后,基本写完了,原先有请假,加班,报销,但只在合肥使用,只区分研发部和非研发部,写了人名,后期跟着这个版本做了好多错事,还不好改动,有种要掐死前面的人的冲动1.画...原创 2018-04-03 15:48:37 · 5801 阅读 · 0 评论 -
Activity服务类-9TaskService任务服务
一共72个接口1.创建任务(2个方法)//创建与任何流程实例无关的新任务。 Task newTask(); //使用用户定义的任务id创建一个新任务。 Task newTask(String taskId);2.存任务(1个方法)//将给定的任务保存到持久数据存储中。如果这个任务已经存在于持久化存储中,那么它将被更新。在保存了新任务之后,传递给该方法的任务实例将使用新创建的任务的id进行更新...原创 2018-03-28 20:15:48 · 13486 阅读 · 1 评论 -
Activity工作流学习(一)——Activity服务类
Activity有9个service1.DynamicBpmnService 动态Bpmn服务Service providing access to the repository of process definitions and deployments.服务提供对流程定义和部署的存储库的访问。2.EngineService 引擎服务Interface implemented by all ...原创 2018-03-28 19:39:42 · 2538 阅读 · 1 评论 -
4.1.HistoricProcessInstanceQuery-历史流程实例查询
//只选择具有给定流程实例的历史进程实例。 HistoricProcessInstanceQuery processInstanceId(String processInstanceId);//只选择id在给定的id集合中的历史进程实例。 HistoricProcessInstanceQuery processInstanceIds(Set<String> processInsta...原创 2018-05-14 16:17:36 · 21395 阅读 · 1 评论 -
java实现发送邮件
目的:实现发送邮件功能背景:财务总监觉得网上那些工资条工具不安全,要求我写一个发送工资条的小程序嵌入到OA里面。具体实现就是导入Excel,发送到用户邮箱,不得存储在数据库实现:遍历每个人的工资信息,按照邮箱发送工资条即可逻辑:前台上传Excel,生成一个table,点击发送后遍历table,将数据传到后台,发送到对应邮箱,成功返回ok,记录发送成功数据,失败则记录失败数据序号后端代码...原创 2018-07-31 16:03:24 · 773 阅读 · 0 评论 -
memcached_session_manager 实现session共享
问题:刚搭建好nginx,用ip_hash来保证用户每次登陆去同一服务器,但是会出现一些问题 1.当这台服务器挂了,用户去其他服务器需要重新登录 2.因为是根据ip的hash值来前往固定的服务器,同一局域网下太多用户会导致负载均衡失败 3.每台服务器上有一部分功能,用户需要跳转服务器来实现所有功能(我遇到的就是这个问题,有点像单点登录)解决...原创 2018-08-29 11:32:30 · 795 阅读 · 0 评论 -
第一次带项目遇到的坑
背景:公司给高校做项目,签的紧,给了40天时间做,中间还有国庆和中秋。基本天天加班,就歇息了5天,3天中秋回家(PS:回家后还忙着做省厅的数据库设计和详细文档说明),两天国庆休息,做完后给省厅做demo演示。结束时间和高校一致,也就是40天两个项目。时间上很赶,踩了许许多多的坑。做个总结吧坑之一:数据库设计部分,当天原型图下来,第二天开始做,一天的时间设计数据库,不少字段没有仔细沟通好,注释也...原创 2018-11-02 09:48:33 · 274 阅读 · 0 评论 -
maven分模块开发
背景:开发了一个项目给各个学校使用,原先是基线然后分支。现在打算弄分模块开发如何分模块?参考上面既可以开始分模块开发。原理:按照MVC思想,每个模块分为控制层,service层,dao层在此基础上把每个层级作为jar包依赖注入到对应的层级中。service的web.xml添加依赖dao层,以此类推。可以加一些common和until每个学校业务逻辑不一样的时候我们只需要在替换对...原创 2018-11-29 17:33:41 · 203 阅读 · 0 评论 -
java反射
实现:java反射写java程序生成一个java文件,然后java编译器翻译成class文件,1.获取类对象1.通过实体类获取类对象Student student = new Student();Class studentClass = student.getClass();2.通过类名获取类对象Class studentClass = Student.class;3.通过路径获取类对象Class...原创 2018-03-01 10:28:12 · 147 阅读 · 0 评论