- 博客(57)
- 资源 (3)
- 收藏
- 关注
原创 Mybatis报错分析:The alias ‘‘ is already mapped to the value ‘xxx‘
Mybatis报错分析,理解 alias 的值为 '' 时凭啥 Mybatis 得报错 ?
2021-01-19 21:16:58 23625 4
原创 WebRTC H5页面 实现服务器转发的视频聊天(二) -- 迁移Spring Boot
重构下 WebRTC H5 页面的视频聊天Sample
2020-05-01 21:09:16 1364 1
原创 关于Java Stream的使用心得
关于Java Stream的使用心得最近在review代码,用stream代替一些for,加之用了stream也有一段时间,总结下stream的使用心得。一开始使用目的是为了紧跟java 8的步伐,了解Java 8的特性,觉得很有趣,现在则是为了语义清晰,用少量的代码代替复杂的循环,顺便提高效率(主要也是项目用到了,不然也没机会练熟)。常用的场景目前我用到的场景最多的是ArrayList或...
2018-12-30 23:09:03 488
原创 java.lang.UnsupportedOperationException解决方法
java.lang.UnsupportedOperationException遇到这个异常,原因多半是将Arrays.asList()当成java.util.ArrayList使用了,并且调用了add或者remove的方法,如List list = Arrays.asList(123, 456);list.add(789);解决方法:只要将Arrays.asList()替换成java.u...
2018-10-06 10:23:31 1262
原创 搭建docker下的gitlab
搭建docker下的gitlab查看gitlab的docker镜像有哪些(此步可省略)docker search gitlab下载官网的镜像docker pull docker.io/gitlab/gitlab-ce启动容器#启动docker(使用桥接网络启动docker)docker run -d \ --hostname git.gitla...
2018-08-05 13:22:29 682
原创 H5的template标签和草案中的rel="import"
无关的mark:Chrome浏览器的控制台提供了$(selector)和$$(selector),分别是querySelector() 和 querySelectorAll的一个快速的替代 ,这和jquery无关,所以诸如jquery.parent()啥的是用不了的。H5的template标签想不到H5这么强大,和angular里面的ng-repeat的效果是类似的已经支持了(类似,就是没...
2018-07-30 22:07:19 4637 2
原创 用原生JS模拟双向绑定
用原生JS模拟双向绑定双向绑定看到angular的双向绑定,想模拟实践下,当然运行效率是硬伤。 angular的双向绑定是通过$watch实现的,如$scope的变量都会保存到$$watchers数组中,然后添加$watch监听,实现双向绑定。(关于angular的$watch可自行) 顺便说一句,调试时修改angular里面的变量可以通过angular.element('.myapp...
2018-07-29 21:00:07 1608
原创 mongodb的安装过程和使用
系统安装(window)MSI下载地址:https://www.mongodb.com/download-center#community直接点击即可,不过要注意两个问题。1.安装过程不能勾选安装MongoDB Compass,否则你会发现找不到安装目录,找不到mongoDB这软件。2.直接这样启动不行,需要配置数据文件所在的目录,默认是C:\data\db\,需要自行新建,没...
2018-07-29 11:54:58 697
原创 gitee 搭建个人网站
gitee 搭建个人网站查看是否已生成密钥ls ~/.ssh没有则需要生成密钥ssh-keygen -t rsa -C "1264276009@qq.com"添加密钥到ssh-agent(ssh-agent是控制用来保存公钥身份验证所使用的私钥的程序,优点是不用重复输入密码和重复部署私钥)eval "$(ssh-agent -s)"ssh-add ~/.ssh...
2018-07-01 18:46:28 6981
原创 Java下使用opencv进行人脸检测
Java下使用opencv进行人脸检测工作需要,研究下人脸识别,发现opencv比较常用,尽管能检测人脸,但识别率不高,多数是用来获取摄像头的视频流的,提取里面的视频帧,实现人脸识别时通常会和其他框架搭配使用,比如face_recognition、SeetaFace Engine、Facenet。不过这里先简单介绍下opencv在java下的使用(网上大多都是C++的demo,这里是使用其ja...
2018-06-30 17:36:33 2496
原创 WebRTC H5实现服务器转发的视频聊天
WebRTC H5实现服务器转发的视频聊天说明:此处使用到的WebRTC皆为H5的API,实际上调用的是封装在浏览器的WebRTC的库,用于获取实时视频数据,传输数据则是使用WebSocket实现。其中的实例语法只用到原生JS,版本为ES6,可能需要较高版本的浏览器支持(IE一般不支持)。1.获取音视频数据方法:navigator.mediaDevices.getUserMe...
2018-05-13 10:22:11 9190 8
原创 自定义协议
如何自定义协议确定调用的程序。创建注册表并执行。声明协议名和调用的程序、调用的方式。通过URL在浏览器上调用。通过URL向操作系统调用相应的程序。1win10下我测试发现jar是调不了的,exe是可以的,所以建议程序是exe的。简单起见,使用gcc生成测试用的程序,文件名为a.exe。源代码a.c #include <stdio.h>#includ...
2018-04-14 11:04:41 2401
原创 openfire外部插件(外部组件)开发
openfire插件–外部组件开发与外部交互外部组件openfire外部组件,就是与openfire所在的进程没有关系,甚至可以不与openfire在同一台机器上运行的组件,一般是一个可运行的jar包,我们叫做外部组件,使用tcp连接(类似客户端Socket的监听端口)与openfire之间进行通信,处理一些服务器需要处理的逻辑。目前可以使用Whack和Tinder连接操作。...
2018-04-13 21:51:32 1360
原创 openfire的内部插件开发
openfire的插件–内部插件开发插件开发基本插件必须有一个实现Plugin。以创建HelloWorldPlugin为例子(下同)。在src/plugins/下新建目录helloworld,如下在src/plugins/helloworld/src/java下添加插件代码HelloWorldPlugin.javapublic class HelloWorldPlu...
2018-04-13 21:48:31 460
原创 Thrift--实现NodeJS和Java间通信
Thrift–实现NodeJS和Java间通信Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。 它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, S...
2018-04-07 17:13:41 3401
原创 调研即时通信--XMPP、openfire、Spark
说明:简单记录调研过程,XMPP协议下即时通信工具的编译和使用时遇到的问题,服务端使用openfire,客户端使用Spark (Win)和Converse.js(Web端),安卓端使用的时Smack,此处没写安卓端,因为是其他人负责的:)服务端openfire编译过程参考IntelliJ IDEA openfire 使用IntelliJ IDEA 部署OPENFIRE 服务端遇到的...
2018-04-01 21:23:40 1079 3
原创 移动端H5填坑指南
移动端H5填坑指南移动端H5应用,开发过程中主要遇到的问题:1.适配不同手机;2.布局(固定位置、显示隐藏、栅栏);3.下拉刷新和上滑加载;4.缓存数据;5.跳转与返回;6.输入与虚拟键盘
2017-12-23 21:22:01 1389
原创 java定时任务
定时任务的Java实现就是计划任务啦,只是在项目中这样叫也就习惯了,参考项目中大神的实现。 目的:通过MySQL配置,可以从MySQL中读取参数,按时定时启动和关闭。数据库记录字段包括实现类名(默认为jobName、jobGroupName、triggerName、triggerGroupName),创建时间,调度规则(cron表达式),启动标志,启动参数。 实现:quartz,与Strus2管
2017-09-30 21:23:17 669
原创 用wget下载文件
用wget下载文件刚安装了stardict,打算装备离线词典,毫无意外地用到了for the first time。 默认现在在当前目录。首先 wget http://abloz.com/huzheng/stardict-dic/zh_CN/ 下载试试,下载的是一个名为index.html的网页而已。 然后添加参数 -r 递归试试 wget -r http://abloz.com/huzh
2017-08-17 22:57:39 2381
原创 容易忘的Java基础点
容易忘的Java基础点1.声明明确导入和声明通配导入在性能上无差别。2.变量的声明是为了分配内存,定义即赋值。3.标识符也可用$,但是习惯上字符$只用在机器自动生成的源码上。4.隐式转换指将类型扩宽,而如果从范围大的类型向小的强制类型转换,会截断。5.javac className.java&&java className6.浮点数的下溢近似为0,由于运算也是近似的,除以0不会抛出异常,结果值为无限
2017-08-17 22:41:08 513
原创 Struts2 中StrutsPrepareAndExecuteFilter的研究
通过研究StrutsPrepareAndExecuteFilter的逻辑代码来了解下Struts2。注:Struts2 ver2.1.6。
2017-08-07 23:54:56 694
原创 Struts1和Spring的整合
Struts 1 和 Spring 的整合注意是Struts 1.2.6 和 Spring 2.6的整合,感觉Struts 1现在使用的不多,不过了解下也无妨。步骤如下:1.首先在web.xml中启用ActionServlet,设置过滤的URL2.继承org.apache.struts.action.Action,实现Action层3.配置struts-config.xml,用于生成Action4.
2017-08-07 20:05:45 2562
原创 git上传项目到github
git上传项目到github用Eclipse建了git项目后,通过git bash上传项目到github,当然前提远程库是存在的。
2017-08-07 14:38:47 847
原创 多线程按序执行
多线程按序执行笔试遇到的题目,涉及到多线程,题目大意是有三个线程,分别名为ABC,要求这三线程按序执行十遍打印,打印结果如:ABCABCABC…ABC。
2017-07-13 14:19:32 496
原创 java.util.NoSuchElementException
遇到java.util.NoSuchElementException的分析
2017-06-22 01:52:53 31425 2
原创 g++的思考
这几天在看数据库原理时,提到了查询优化,不禁联想到编译器的优化是怎样的?就比如在汇编中,一般a/2可以通过逻辑右移就得出结果的,这算是优化,不用经过算术指令老老实实地除。 在这情况下,(a+b)/2明显比a/2+b/2更快,那后者在编译器会优化为前者吗?这就是mark的原因。反汇编先来看a/2+b/2,反汇编后,去掉相关的栈操作(子程序eip进出栈),主要显示 0x08048583 <+6>:
2017-06-20 14:57:12 528
原创 简单了解Java本身是怎样判断一个文件是目录
简单了解Java本身是怎样判断一个文件是目录的,实际上File\$isDirectory是调用了windows系统api的GetFileInformationByHandle获取文件夹信息后判断的。
2017-06-18 00:28:25 4396
原创 Java读取pdf中文
直接使用系统字体读取或创建带中文的pdf,需要注意jar的版本。 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.8</version> </dependency>
2017-06-16 15:00:21 1650
原创 Java 8 函数式编程
《Java 8 函数式编程》的笔记简单mark下里面的代码 习题解:https://github.com/RichardWarburton/java-8-lambdas-exercises2.Lamba表达式相当于匿名方法,代码即数据,闭包且适用于函数接口。Lamba可应用在匿名内部类 button.addActionListenr( event -> System.out.println("bu
2017-06-14 20:35:34 1022
原创 Crawler4j学习笔记-util
Crawler4j学习笔记-utilutil有两个类,IO.java和Util.java。IO.java用于文件的操作。 deleteFolder用于删除文件夹,并通过deleteFolderContents删除文件夹内容。 这里是用来删除持久化的url数据的。当使用crawler4j时,会需要配置保存url的文件夹(可用于恢复上次操作)CrawlConfig config = new Craw
2017-01-24 15:20:51 642
原创 java笔记--八成Java开发者解答不了的问题
引申自八成Java开发者解答不了的问题1如下代码,究竟会发生什么?import java.sql.SQLException;public class Test<T extends Exception>{ private void pleaseThrow(final Exception t) throws T{ throw (T) t; }
2016-08-20 22:54:16 794
原创 python下载漫画
下载漫画的脚本身为漫画迷,一直想直接将漫画下载到电脑上看,于是就有这个python脚本。系统:Ubuntu 14.04 python版本:2.7.6 用到的python库有:os (操作系统接口的标准库,用于创建文件)sys (标准库,获取命令行参数)string (字符串操作的标准库,用于将字符串中的数值转换为整型)getopt (对命令行参数进行处理)lxml (当中的html,相
2016-07-26 23:09:04 3872 1
原创 netgarage攻略 -- level1~1evel4
netgarage攻略 – level1~1evel4netgarage攻略 level11evel4介绍netgarage(原来是smashthestack,一段时间没上连网站也改名了)是个IO wargame,关键是要通过一些方式来利用漏洞获取运行程序的控制权,然后你就可以让它做任何事了。(有点不好就是挂机长就会
2016-07-15 21:21:38 1321
opencv的java接口和win库
2018-06-30
openjdk-8-src-b132-03_mar_2014-windows-native.zip
2017-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人