杭研项目总结
a1165117473
这个作者很懒,什么都没留下…
展开
-
java8流式编程实例(包含返回列表和实例)
Java 8在对集合的处理引入了stream的概念,任何集合类都可以转换成stream,然后应用java 8提供的内置函数(比如filter,match,map等)来实现我们的业务逻辑。根据id,查询list里面的employee源码:public Employee getEmployee(Integer employeeId){ for(Employee employee:...转载 2019-01-18 19:00:54 · 1026 阅读 · 0 评论 -
log4j日志打印
最近在分析项目响应时延时,使用了很多打印日志的技巧,下面总结一下。1、打印总的日志。 总日志是说,在系统出现任何异常或错误情况,都将异常打印到固定文件中。实现方式: 1、实现类中,添加日志对象private static final Logger LOGGER = LoggerFactory.getLogger(SpeechMa...原创 2018-07-17 17:36:34 · 375 阅读 · 0 评论 -
远程服务异常
dubbo项目部署后,出现 远程服务异常 这个情况。控制台没报错,很大可能是发布地址有问题。下面两条配置,在不同组件中,需要保持一致。不然会出现 远程服务异常 这个情况。dubbo.registry.address=172.23.24.155:2181dubbo.service.group=yyf原创 2018-04-18 11:30:53 · 1962 阅读 · 0 评论 -
@SuppressWarnings("unchecked")作用
@SuppressWarnings("unchecked")用于关闭IDEA的警告。在强制类型转换时,IDEA有标黄提示,这时候,代码前面加上@SuppressWarnings("unchecked")可以关闭警告。原创 2018-03-24 11:41:25 · 617 阅读 · 0 评论 -
checkstyle检测
代码提交前除了要过checkstyle检测外,还要在IDEA上设置两点:1、开启泛型检查如果只写 List opponents = new ArrayList();的话,代码下面会有一道黄线,提示要补充泛型,但是现在在Idea中压根不会有提示,是不是要在哪里开启?开启 inspection : Raw use of parameterized class2、IDEA原创 2018-03-19 17:26:01 · 1770 阅读 · 0 评论 -
IDEA控制台输出乱码解决
如图:tomcat中,设置VM options 为 -Dfile.encoding=UTF-8。启动Web Server之后再分析JVM的参数可以看到 -Dfile.encoding=UTF-8。转载 2018-02-08 15:01:57 · 457 阅读 · 0 评论 -
使用doPost访问三方接口
如果我们的app应用需要对接第三方服务接口,可以采用doPost方法,代码如下: //获取章节详情信息 public void testGetChapterDetail() throws IOException { String postUrl = "http://112.13.170.215:18443/cip-cas/getChapterDetail"; ...原创 2018-02-26 15:06:43 · 1803 阅读 · 0 评论 -
数据打印到excel,支持多sheet页
public class excelDemo { public static void main(String[] args) { try{ XSSFWorkbook wb = new XSSFWorkbook(); String s="ss"; String t="tt"; ArrayLi...原创 2018-02-26 11:20:02 · 265 阅读 · 0 评论 -
MYSQL之You can't specify target table for update in FROM clause解决办法
You can't specify target table for update in FROM clause含义:不能在同一表中查询的数据作为同一表的更新数据。例如:我想查询t_user_asset的余额加上50000作为更新字段f_cashAmount的值,这样写是不行的。[sql] view plain copy转载 2018-01-09 14:40:32 · 280 阅读 · 0 评论 -
工作感悟
正好这周在复盘工作总结了两点思考可以分享出来,我一直很推崇老子哲学体系里的“道”与“术”两个层面,也是对自己明年的期望吧:1、道:坚守正直与善良,一定会让你在未来的时点带来回报做人品格和事业工作之间的关系,并不会那么显性地体现在日常工作层面,而是隐性地体现在机遇选择层面。平常工作中多做一点职责之外却举手之劳的事情,合作中在不触及原则的情况总能考虑到对方的利益空间,在这个急功近利的商业社会,原创 2018-01-11 09:02:53 · 431 阅读 · 0 评论 -
redis和zk相关命令
1、zookeeper相关命令如下zk server 命令:1、启动zk sh bin/zkServer.sh start 2、关闭zk sh bin/zkServer.sh stop3、重启zk sh bin/zkServer.sh restart4、查看zk 运行状态 sh bin/zkServer.sh status (可以判断是leader还是follower...原创 2018-07-20 10:51:45 · 447 阅读 · 0 评论 -
联表查询降低复杂度
联表查询过程中,如果涉及表非常多,查询速度很慢。这时可以用追加字段的方法,将分页的结果拿出来进行联表查询。devList = cmsDeviceDao.getMdevStateInfoByPage(paramMap, page);if (null != devList && devList.size() > 0) { for (Map<String...原创 2018-07-26 10:10:57 · 369 阅读 · 0 评论 -
idea 拉取git新分支
选中项目-git-Repository-fetch 查看右下角即可看到最新的分支转载 2018-12-29 15:22:52 · 6078 阅读 · 2 评论 -
java异常监控和处理
最近在开发三方服务调用的预警机制,涉及异常的捕获和处理。1、本次使用的异常是非声明性异常,即在方法中throw的异常。开发人员知道在某段代码中可能会产生某类异常,对可能产生异常的代码用try包裹,并用catch捕获。try{ } catch (SocketTimeoutException | ConnectTimeoutException e) { ...原创 2018-11-15 16:27:21 · 2425 阅读 · 0 评论 -
通过RequestConfig设置http请求响应时间
最近在做三方http预警,如果调用三方服务,长时间无响应,会进行预警处理。doPost方法如下:public String doPost(String postUrl, Map<String, String> header, String param, String charset, RequestConfig rconfig)...原创 2018-11-15 15:49:40 · 11072 阅读 · 0 评论 -
kafka生产的数据没有消费(已解决)
程序中往kafka里写入数据,但是消费命令没有把数据录入数据库,可能是下面问题:1、程序中的topic 和 connector 的topic 和数据库表名称 三者要一致。2、jps看下,schema kafka connector 三个进程都启动。3、connector 数据库配置确保正确。...原创 2018-11-06 17:32:33 · 7513 阅读 · 0 评论 -
ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新,在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有ON DUPLICATE KEY UPDATE一步就可以完成,感觉实在是太方便了, 该语句是基于唯一索引或主键使用,比如一个字段a被加上了unique index,并且表中已经存在了一条记录...转载 2018-11-01 14:20:38 · 6551 阅读 · 2 评论 -
kafka connector启动一段时间,自动断开问题解决
最近开发使用kafka时,遇到一个问题,当启动connector后,过段时间会自动断开,后台看jps是正常的。排查nohup.out日志,发现错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communica...原创 2018-10-11 20:18:06 · 5072 阅读 · 1 评论 -
java8新特性笔记
1、排序List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");names.sort((a, b) -> a.compareTo(b));将names列表按首字母排序。2、流式编程java.util.Stream表示可以在其上执行一个或多个操作的元素序列。流操作是中间操作或终端操作。当终...原创 2018-09-17 15:52:16 · 212 阅读 · 0 评论 -
Git上传项目提示Push rejected: Push to origin/master was rejected解决办法
首先是你的项目中有和和历史不符的东西 Push rejected: Push to origin/master was rejected 推拒绝:推送到起源/主人被拒绝 直接是解决办法,直接打开你要上传代码的文件夹位置鼠标右键git Bash Here然后直接下面两行命令解决问题git pull origin master –allow-unrelated-histories git ...转载 2018-09-11 17:40:42 · 1136 阅读 · 0 评论 -
idea中git工具使用方法
1、 首先在远程仓库上新建一个项目,码云和github都可以,我这里使用的是码云。2、 (1)进入码云,新建项目,如下图(2)点击创建,步骤如下(3)打开idea,新建一个maven项目,本项目只是为了测试(4)然后下一步(5)完成,点击上面的cvs,按照如下步骤(6)选择对应的项目,点击完成(7)然后右键点击项目,选择git–add进行添加...转载 2018-08-24 16:10:30 · 2747 阅读 · 0 评论 -
mybatis 添加一条新数据并返回此数据的ID(主键)
利用Mybatis 的 selectKey来获得: insert id="addDept" parameterType="com.demo.model.Department" keyProperty="id"> selectKey keyProperty='id' resultType='int' order='AFTER' > sele原创 2017-10-25 17:02:02 · 2837 阅读 · 0 评论 -
json使用问题
在前台传入集合类型时,可以使用json形式,比如2代表整个字符串对象,2.1,2.2代表各种属性。写单元测试时候要注意:当函数的某个参数是String类型,而且是json转换来的,单元测试做参数时候要将对应类的对象转换成json,再传入。例如:public Map transmitMusicToUser(String msgContent, Integer fromUser, St原创 2017-10-10 14:59:16 · 413 阅读 · 0 评论 -
使用Apache中的HttpClient的实例CloseableHttpClient进行http请求
对接咪咕音源场景重现:现在公司存储音乐的id标识等信息,不包含音乐url。想获得音乐url,需要和咪咕进行音源对接。根据咪咕提供的服务接口,实现业务对接。 首先,根据音乐id获得url,需要拼装url请求,再添加header头部信息。其中,url拼装比较简单,不再说。下面详细说下header信息添加。MiguHeader miguHeader = new MiguHeader原创 2017-08-17 16:31:29 · 3859 阅读 · 0 评论 -
智能音乐搜索功能实现(一)
项目涉及到搜索功能,花了不少时间,现在总结一下。音乐搜索分为两种方式,一种是联想词搜索,一种是直接搜索。本节主要讲联想词对应的字典表和联想词的生成。 首先是联想词对应的字典表(dict):包含pinyin,simple,type字段。汉字全拼,缩写词,多音字读音都放到pinyin列中,simple放歌曲或歌手名,type为歌曲歌手标识。 music表中先把所有歌原创 2017-07-25 17:52:07 · 4564 阅读 · 0 评论 -
智能音乐搜索功能实现(二)
项目涉及到搜索功能,花了不少时间,现在总结一下。音乐搜索分为两种方式,一种是联想词搜索,一种是直接搜索。 先说联想词搜索。联想词搜索是说当我们输入某个歌手或歌曲时,出现了类似的联想词,然后点击联想词,到达搜索结果页面。常见场景是百度“北京”,出现了北京交通,北京博物馆等联想词,点击后直接到达页面。 具体流程如下:1、将用户输入汉字转换成拼音2、当关键词小于三原创 2017-07-18 18:47:02 · 1435 阅读 · 0 评论 -
spring定时任务详解(@Scheduled注解)
转载地址:http://blog.csdn.net/qq_33556185/article/details/51852537spring的定时任务非常好用,配置也很简单。在做热词更新和音源更新时,经常用到定时任务。在springMVC里使用spring的定时任务非常的简单,如下:(一)在xml里加入task的命名空间[html] view转载 2017-08-08 16:38:35 · 764 阅读 · 1 评论 -
idea 中解决svn代码冲突
选择 subversion ->resolve Text Confict-->merge,注意将本地和服务器代码合并,合并后就能正常提交代码了。原创 2017-07-19 17:38:24 · 13783 阅读 · 6 评论 -
二维数组赋值
今天项目在给二维数组赋值过程中一直报错,是空指针异常。原来自己对二维数组初始化不了解。这里总结一下:下面是错误代码:String[][] temp = new String[src.length()][];String[][] pinyinHead = new String[src.length()][];for (int i = 0; i temp[i] = Piny原创 2017-07-21 20:22:10 · 6348 阅读 · 0 评论 -
新建本机dubbo项目的注意事项
上一版本开发结束后,转入测试阶段,下一版开发需要新建分支。这里要将IDEA中项目删掉后重新导入新的一份。下面是本机需要配置的一些环境:1、注销监听器在\muses\muses-core\src\main\webapp\WEB-INF\web.xml com.cmcc.muses.listener.DevOnoffStatusListener原创 2017-07-21 20:12:49 · 438 阅读 · 0 评论 -
使用配置文件存储常量
最近接触的项目需要配置文件路径地址,由于方便后期维护,要把地址写在配置文件中。这里记录一下如何把常量配在文件中。首先,项目的src——resource目录下新建config.properties文件。该文件可直接定义常量的映射关系,如:device.excel.input.path=D://deviceInfo.xlsx然后,在该项目下的spring-bean.xml中的bean实原创 2017-07-17 18:54:00 · 1938 阅读 · 0 评论 -
使用jmokit进行单元测试
今天项目进行单元测试,第一次使用jmokit框架,出现了很多问题,下面记录一下。首先,我使用IDEA进行junit测试,需要下载两个插件(junit和junit generator)配置一下就可以用了。生成单元测试类后,需要编写测试方法。测试方法要注意以下几点:1、代码每一行都要执行,所以实际代码每行都要走的,不要遗漏。2、我们只需要将需要mock的代码(需要连服务器的代码,比如s原创 2017-07-20 19:05:55 · 850 阅读 · 0 评论 -
springMvc拦截器的使用
该拦截器用于判断用户在做操作之前是否登陆。原博客地址:http://blog.csdn.net/chang_li/article/details/594828901、springMvc拦截器是对请求做共通处理,如权限验证,读取cookie,日志记录,乱码处理等,2、拦截器只能拦截action请求;3、拦截器可以调用IOC容器里的所有bean,这样一来可以直接调用业务转载 2017-08-04 11:09:56 · 269 阅读 · 0 评论 -
Nginx基本入门
刚接触nginx,这篇文章浅显易懂,摘录一下。1、静态HTTP服务器首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。配置:123456server { listen 80; # 端口号 location / { root /usr/share/转载 2017-09-04 17:11:58 · 254 阅读 · 0 评论 -
从Eclipse转移到IntelliJ IDEA一点心得
本人使用IntelliJ IDEA其实并不太久,用了这段时间以后,觉得的确很是好用。刚刚从Eclipse转过来的很多人开始可能不适应,我就把使用过程中的一些经验和常用功能分享下,当然在看这篇之前推荐你先看完IntelliJ IDEA 的 20 个代码自动完成的特性,这篇文章对自动完成的特性介绍的非常好,只是快捷键说明部分还可以更完善一些,可以照顾下默认绑定键位不一致的童鞋。本文在说明快捷键的时候是转载 2017-09-30 15:59:13 · 338 阅读 · 0 评论 -
JSON字符串和java对象的互转【json-lib】
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式,JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON转载 2017-10-09 10:22:26 · 296 阅读 · 0 评论 -
代码规范性改进
来公司工作两个月了,也写了很多代码,其中出现了各种代码不规范的问题,下面总结一下。1、checkstyle和findbug需要自查。每天早晨要登陆查看服务器代码SA、UT是否跑通。2、action要注意:用户输入检查,非空,格式,是否符合规则等等。action主要注意前台数据的规范性。另外,action还涉及返回值格式,比如时间格式。action统一返回json类型,方法用void,注原创 2017-09-12 18:52:54 · 939 阅读 · 0 评论 -
mybatis 中的<![CDATA[ ]]>
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用来解决。 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符 但是有个问题那就是 等这些标签都不会被解析,所以我们转载 2017-09-27 14:37:44 · 382 阅读 · 0 评论 -
dubbo 序列化实例
最近在做CMS中excel数据批量录入数据库这个功能,遇到了dubbo序列化问题。这里做总结。先说一下java为何需要序列化: 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型原创 2017-09-01 11:18:44 · 2322 阅读 · 0 评论 -
Spring和ActiveMQ整合的完整实例
最近在学习activeMQ,用于消息队列的实现。看到一篇博客很好,下面分享下。源码可以下载,只需要在ActiveMQ.xml里改下brokerURL="tcp://localhost:61616" 后,就能在本机把项目部署到tomcat。博客地址:http://blog.csdn.net/jiuqiyuliang/article/details/48758203博客共四篇,这里转载转载 2017-09-18 17:21:06 · 487 阅读 · 0 评论