项目实战
可乐代码君
这个作者很懒,什么都没留下…
展开
-
Java线程池ExecutorService方法详解
线程在项目中有时候是很重要的一部分,对于那些不需要返回结果只需调用而且执行之间较长的方法,可考虑用线程实现。但是线程的频繁创建和销毁会降低系统的性能,因此多线程情况下最好要考虑线程池技术。线程池的多种创建方式下一节介绍。创建线程池方式://创建可缓存线程池没有指定线程的数量,如果第二个线程在第一个线程之后则不去创建新线程。ExecutorService ex原创 2017-12-21 17:29:26 · 9083 阅读 · 0 评论 -
实时聊天APP(websocket+hybridAPP)
websocket可以实现真正的消息推送,现在浏览器大多都支持了websocket,基于websocket的原理可实现真正的端对端推送。本博主在闲暇之余做了一款聊天APP。功能如下:1:用户第一次安装时需要填写个人昵称2:打开好友列表页,无需刷新,当其他用户注册时,服务端会推送其他用户信息到列表页3:可与列表内的其他用户聊天4:在列表页或非本人聊天页收到消息后会置为未读状态并且原创 2017-12-17 14:47:33 · 9503 阅读 · 0 评论 -
Java8新特性之Optional详解
Java8中对空值提供了一个操作类。Optional。下面介绍下他的方法。静态方法:Optional.of(T) 返回Optional包裹的对象,如果传入的参数为空,将抛出空指针异常。Optional.ofNullable(T) 返回Optional包裹的对象,参数如果为空返回空的Optional对象。Optional.empty() 返回空的Optional对象。原创 2017-12-22 11:51:02 · 9293 阅读 · 0 评论 -
Java8新特性之CompletableFuture详解
jdk1.8中加入了CompletableFuture类来辅助实现异步编程。上一节中提到了线程池执行异步方法返回Fufure实例,但是当执行多个异步任务时,如何判断这些任务都已执行完毕则没有好的办法,只能通过定时轮询去判断这些任务isDone(),并且也需要创建线程池来实现。而新的CompletableFufure类则对异步编程提供了一些很不错的方法。如下:静态方法:C原创 2017-12-21 17:31:00 · 10414 阅读 · 0 评论 -
hbuilder+dcloud开发APP
hybridAPP已经流行了很多年,市场上主要的框架cordova,ionic,dcloud都有过了解。cordova只是作为APP的一种打包方式。另两种框架提供了很多原生组件,UI上和原生很接近。但是ionic的学习成本较高,都是用js,他的框架却非angular不可,组件绑定的太紧密,除非angular不错的朋友可以去看看,否则不建议上手。dcloud相对来说就比较easy了,代码都是js+h原创 2017-12-17 14:36:27 · 6515 阅读 · 0 评论 -
自动化测试工具appium安装&操作微信与好友聊天
电脑操作手机软件运行。一:搭建appium环境,注意的是安卓环境时,sdk Manager的下载速度很慢,要选用国内的镜像:mirrors.neusoft.edu.cn 端口是80,要勾选https那个选项通过命令获取:adb shell dumpsys window w |findstr \/ |findstr name=(这条命令的作用是,获取当前app和当前Activi原创 2018-01-15 09:56:25 · 12687 阅读 · 1 评论 -
解决maven中包冲突,去除依赖包或修改依赖包版本
这几年springBoot很火,本人在迁移项目的过程中遇到了一些问题,比如以前用的springMVC依赖了org.json包,转成了springBoot项目之后,由于springBoot默认依赖了其他的包,有用到org.json。但是却没有new JSONObject(Object object)方法,在pom.xml中引入了org.json包的依赖,但是使用时还是默认的为先。这时候需要找出是哪个原创 2018-01-31 12:28:10 · 23451 阅读 · 2 评论