java
何超杰
http://hechaojie.com 技术、分享、价值...
展开
-
2个特别大的文件A和文件B,求交集
2个特别大的文件A和文件B,求交集文件中存放的是url,2个文件都无法直接读到内存。思路hash+分片1.将文件A中的hash(url)%100,生成100个小文件。2.文件B中也hash(url)%100,生成100个小文件。3.然后将A子文件001和B子文件001求交集,放入一个结果文件即可。...原创 2021-07-17 22:25:09 · 964 阅读 · 0 评论 -
字符串包含另外一个字符串(循环包含)
字符串包含另外一个字符串(循环包含)题目:字符串包含如: abcde情况1:如包含 abc 返回true情况2:或者循环包含 cdea 也返回true其他情况:返回false去某公司笔试题思路1.现找出字符串2第一个字母在字符串1中的所有位置。2.然后遍历字符2是否和字符串1中的匹配位置依次相等。3.如果字符串1扫描到了边界,需从头继续扫描(循环包含)代码如下public class C002StringContains { public static void mai原创 2021-07-17 22:13:00 · 2150 阅读 · 1 评论 -
Apache对象池commons.pool使用
背景:要抓取网络数据,使用了chromedriver。因为创建和销毁驱动耗时间,所以考虑使用对象池管理。刚好apache提供了开源库,不用重复造轮子了。并且支持多key的池子。如:手机端的驱动放一个池子中,PC端的驱动放一个池子中。简单使用如下:maven引入:<dependency> <groupId>org.apache.commons</groupId&...原创 2019-08-27 11:15:02 · 815 阅读 · 0 评论 -
API接口签名规范
背景:为了增加接口参数安全,对接口参数加盐进行签名校验。原理:客户端对传送的参数字典排序后,进行md5签名。服务器接收参数后,同理进行参数字典排序后md5签名。若客户端与服务端的签名一致,说明参数未被篡改,校验通过。请求参数示例:字段数据类型描述phone158112341234String手机号timestamp1538990392850long时...原创 2018-12-11 11:08:55 · 5702 阅读 · 0 评论 -
C3P0连接池jetty下正常,tomcat下报错
背景:使用c3p0连接池,jetty下正常,发布到tomcat报如下错误,最后排查是因为没配置driverClass报错如下:[WARN]-[Thread: Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@2547fcd8]-[com.mchange.v2.resourcepool.BasicReso...原创 2018-09-16 23:45:29 · 1575 阅读 · 0 评论 -
Spring MVC注解报错:Name for argument type [java.lang.String] not available, and parameter name informati
在eclipse运行正常,ant打包时运行却报错。<!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 --><!-- 解决ant打包spring参数注入问题 debug="true" encoding="utf-8"--><target name="compile" depends="clean"&原创 2018-09-05 23:17:47 · 11279 阅读 · 0 评论 -
web容器有几种作用域
几乎所有web应用容器都提供了四种类似Map的结构:application session request page,Jsp或者Servlet通过向着这四个对象放入数据,从而实现Jsp和Servlet之间数据的共享。application:整个应用 对应servlet中ServletContextsession:会话 对应servlet中HttpSessionrequest:一...原创 2018-09-05 23:12:01 · 1853 阅读 · 0 评论 -
JFinal结合JUnit测试Model层
import org.junit.Before;import org.junit.Test;import com.eyaocrm.eyao_smart.config.EyaoSmartConfig;import com.eyaocrm.eyao_smart.config._MappingKit;import com.eyaocrm.eyao_smart.dao.PaaApplyPrima...原创 2018-09-04 14:04:33 · 6642 阅读 · 0 评论 -
Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
1、在src文件夹上点右键-Build Path-Use as Source Folder,重新进行编译,一切正常了。2、在Eclipse工程文件夹上点右键-Refresh,重新编译,一功OK(这个方法一般不起作用)。3、右键Properties在Java Builder Path的Libraries的标签里面看是否有缺少或者无用的(一般带红差头)的,引入对应的jar包或者删除掉。4、...原创 2018-09-04 13:57:59 · 4701 阅读 · 0 评论 -
java数据结构单链表
Java单链表public class MyLink<E> { //使用泛型是为了使用时候可以规范链表的数据类型 // 结点内部类 private class Node { private Object data; //数据 private Node next = null; ...原创 2018-08-23 23:43:57 · 5328 阅读 · 0 评论 -
java http Range分段下载
1.原理1).HTTP 请求头 Range Range: bytes=start-end Range: bytes=10- :第10个字节及最后个字节的数据 Range: bytes=40-100 :第40个字节到第100个字节之间的数据.示例: #表示从第0个字节开始下载 conn.addRequestProperty(“range”, “b...原创 2018-08-23 23:41:29 · 10352 阅读 · 0 评论 -
HttpClient实现https请求
package test.ssl;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.util.ArrayList;import java.util.List;impo...原创 2018-08-23 23:34:31 · 9472 阅读 · 0 评论 -
java jdk编译注意细节
背景:开发环境使用jkd8编译,结果发布到生产环境无法运行。 生产环境是jdk7解决:开发、生产环境统一jdk版本。原创 2018-08-27 23:51:20 · 1473 阅读 · 0 评论 -
mac eclipse导入opencv库文件
mac库文件目录: /usr/local/opencv/opencv-3.4.2/release/lib原创 2018-08-23 01:09:33 · 5380 阅读 · 0 评论 -
java版selenium使用chromedriver抓取动态网页(mac)
前置条件: mac 10.13.6 chrome浏览器 版本 68.0.3440.84(正式版本) (64 位) chromedriver驱动一.chrome浏览器下载 https://www.google.cn/chrome/二.chromedriver驱动下载 各个版本:http://chromedriver.storage.googlea...原创 2018-08-16 14:49:08 · 10551 阅读 · 1 评论 -
mac下java通过jni调动c语言
1.编写java代码public class SayHello { // 本地方法 public native void sayHello(); static { // 加载库 System.load("/Users/hecj/workspace/src/main/java/libSayHello.jnilib"); } ...原创 2018-08-12 21:17:09 · 5315 阅读 · 0 评论