自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 java服务端开发面经

ReentrantLock底层实现原理synchronized底层实现原理线程池任务抛弃策略、线程回收原理,如何标记线程什么时候回收使用过哪几种阻塞队列、阻塞队列实现方式,阻塞队列有哪些可调用方法Spring aop动态代理实现方式io多路复用原理mysql行锁、表锁实现原理kafka数据存储采用什么模型...

2019-10-16 22:18:30 214

原创 安卓逆向——frida入门

frida入门frida hook java代码frida hook java代码上传frida-server到手机并启动adb push Frida-server /data/local/tmp/ adb shell "chmod 755 /data/local/tmp/Frida-server"adb shell "/data/local/tmp/Frida-serv...

2019-08-29 10:52:05 460

原创 裁判文书android app逆向

首先使用apktool解包:apktool d wenshuapp.apk修改AndroidManifest.xml,添加android:debuggable="true" , 使用AS调试smali需要apk设置调试标识(不然AS会显示错误:Unable to open debugger port (localhost:7800): java.net.SocketException “con...

2019-01-10 19:14:52 1476 2

原创 Linux使用chromedriver case handle

一、 error while loading shared libraries: libX11.so.6:#依赖库yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64...

2019-01-04 16:13:10 820

转载 Java 中的 Builder 模式和协变返回类型

原文链接:https://juejin.im/entry/5b83fe1851882542e16bfcf6?utm_source=gold_browser_extensionBuilder 模式是一种创建型的设计模式,即解决对象的创建问题。在 Java、C++ 这类语言中,如果一个类在创建时存在可选参数,那么可以通过函数重载来实现,但是如果可选参数非常多的话,构造函数的数量也会变得非常多,...

2018-08-28 10:49:38 1256

转载 mysql 数据库引擎

原文

2018-07-13 11:21:57 142

转载 java面试整理

https://nezha.github.io/%E7%AC%94%E8%AE%B0/2017-12-11-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-Java%E9%9D%A2%E8%AF%95%E7%BB%8F%E9%AA%8C/ 面试整理-Java综合高级篇(吐血整理) 发表于 2017-12-11 | 分类于 笔记 | | 本文总阅读量 2048人次...

2018-06-11 14:51:25 231

原创 中国裁判文书网改版之后抓取--2019-01-10

一、裁判文书网难点:vl5x、number、guid 三个参数(内容、列表抓取必须的参数)。guid 生成规则页面源码里面找,非常简单,是一段js代码。number 向 http://wenshu.court.gov.cn/ValiCode/GetCode 发送post请求,可得到(参数为guid)。vl5x 这个参数比较复杂,服务端生成规则如下: 1>、访问服...

2018-03-24 18:11:58 16546 11

转载 Java Mysql连接池配置和案例分析--超时异常和处理

Java Mysql连接池配置和案例分析--超时异常和处理 前言:  最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测机制, 导致sql执行失败.  问题的表层根源, 看似简单, 但实际解决之路, 却显得有些曲折坎坷. 因此有必须分

2017-11-21 14:27:07 5248

转载 Java 8时间和日期API 20例

转自:http://www.importnew.com/15637.html伴随lambda表达式、streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应

2017-10-14 09:48:14 302

原创 Squid 搭建代理服务

首先利用yum安装squidyum -y install squid设置开机启动chkconfig --level 35 squid on修改配置文件vi /etc/squid/squid.conf修改如下部分http_access allow !Safe_ports #deny改成allowhttp_access allow CONNECT !SS

2017-09-06 20:53:44 427

原创 maven常用命令

dependency:copy-dependencies -DoutputDirectory=lib 导出maven依赖jar包到指定目录

2017-07-05 16:55:47 328

转载 互联网协议入门(二)

原文:http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html互联网协议入门(二)作者: 阮一峰日期: 2012年6月11日上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。这是从设计者的角度看问题,今天我想切

2017-06-16 13:59:00 333

转载 互联网协议入门(一)

转载于:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的

2017-06-15 20:49:29 250

转载 JVM监控与调优

目录参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。     (如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅

2017-06-01 10:52:29 291

原创 Java实现常用算法

Javacollections已经内置了一些常用算法,此处作为标记,方便温故而知新1、二分查找public class BinarySearch { public static int binarySearch(List> list, T data) { int start = 0; int end = list.size() - 1;

2017-05-23 13:04:05 2086

原创 hive sql 优化

1、COUNT(DISTINCT)优化原始语句运行时间大概215秒select dt,count(distinct case when page='2001' then uuid end) as cleanUserfrom dw_space_page_orc_dt where dt>='20170506'GROUP BY dt优化之后语句运行时间大概155秒select sum(

2017-05-10 10:28:47 331

原创 mongo常用命令

db.getCollection('schedule').remove({"obj.conditon":/^.{24,}$/})

2017-04-19 10:18:37 241

原创 hadoop常用算法在spark中实现

object MRInSpark { /** * 求最大值最小值一直是Hadoop的经典案例,我们用Spark来实现一下, * 借此感受一下spark中mr的思想和实现方式 */ def maxMin = { val sconf = new SparkConf().setAppName("avgTest").setMaster("local[2]")

2017-02-16 16:35:30 1163

原创 kafka offset查询、提交

wiki地址https://cwiki.apache.org/confluence/display/KAFKA/Committing+and+fetching+consumer+offsets+in+Kafkapublic class KafkaOffset { private String group = "gaia"; private int correlationId = 0; f

2016-11-22 15:14:24 5752 1

原创 spark从mongodb导入数据到hive

1、首先添加mongo-spark依赖,官网地址 https://docs.mongodb.com/spark-connector/ org.mongodb.spark mongo-spark-connector_2.10 1.1.0 2、直接上代码object Mongo2Hive {

2016-11-15 13:38:37 3868

转载 Java中ArrayList和LinkedList区别

原文地址:http://pengcqu.iteye.com/blog/502676一般大家都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

2016-09-27 16:59:57 247

原创 kafka Java实例

import java.util.*;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.producer.Partitioner;import kafka.producer.ProducerConfig;import kafka.utils.VerifiableP

2016-04-25 21:58:24 581

原创 互联网技术网站收藏

阿里技术沙龙 http://club.alibabatech.org/美团技术博客 http://tech.meituan.com/IBM技术开发者 http://www.ibm.com/developerworks/cn/java/腾讯 http://www.alloyteam.com/

2016-02-16 17:51:02 615

原创 hadoop常用算法简单实例

实例一、对以下数据进行排序,根据收入减去支出得到最后结余从大到小排序,数据如下:SumStep运行之后结果如下:SortStep运行之后结果为上图根据结余从大到小排序。代码如下:public class InfoBean implements WritableComparable{ private String account; private dou

2016-01-18 19:26:49 4907 1

原创 java单元测试junit测试线程问题

public class JnitAndRunnable { class person implements Runnable{ @Override public void run() { try { Thread.sleep(1000); System.out.println("我在吃饭"); } catch (InterruptedException e

2015-12-27 16:40:07 2105 1

原创 webservice入门实例

Webservice实现 jax-ws介绍  JAX-WS  的全称为 Java API for XML-Based Webservices ,从java5开始支持JAX-WS2.0版本,Jdk1.6.0_13以后的版本支持2.1版本,jdk1.7支持2.2版本,本教程我们使用jdk1.6.0_45开发。 第一个例子第一步:服务端开发 1. 编写SEI(Serv

2015-12-03 15:03:38 312

原创 java.util.concurrent.Semaphore

public class SemaphoreDemo { public static void main(String[] args) { //信号量,解决了允许固定个数的线程同时访问共享资源 final Semaphore semaphore = new Semaphore(3); for (int i = 0; i < 10; i++) { new Thread(new

2015-11-25 15:48:58 518

原创 java.util.concurrent.Exchanger

/** * Exchanger提供的是一个交换服务,允许原子性的交换两个(多个)对象,但同时只有一对才会成功。 * */public class ExchangeerDemo { public static void main(String[] args) { final Exchanger exchanger = new Exchanger(); for (int

2015-11-25 15:47:30 451

原创 java.util.concurrent.CyclicBarrier

/* * 一组线程相互等待,直到最后一个线程执行完某一阶段任务后,他们才会一起向下执行。 * */public class CyclicBarrierDemo { public static void main(String[] args) { final CyclicBarrier cb = new CyclicBarrier(3); System.out.println(

2015-11-25 15:46:12 267

原创 java.util.concurrent.CountDownLatch

/* * 一组线程,等待另一组线程。 * */public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { final CountDownLatch cdl = new CountDownLatch(1); final CountDo

2015-11-25 15:44:06 323

转载 httpClient例子详解

package com.xf.httpclient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.InterruptedIOException;import java.net.URI;import java.net.URI

2015-11-24 14:02:21 2661 1

转载 HttpClient4.3 教程 第五章 快速API

5.1.Easy to use facade APIHttpClient从4.2开始支持快速api。快速api仅仅实现了HttpClient的基本功能,它只要用于一些不需要灵活性的简单场景。例如,快速api不需要用户处理连接管理和资源释放。下面是几个使用快速api的例子: // 执行一个get方法,设置超时时间,并且将结果变成字符串 Request.Get("ht

2015-11-20 16:43:02 290

转载 HttpClient4.3教程 第四章 HTTP认证

HttpClient既支持HTTP标准规范定义的认证模式,又支持一些广泛使用的非标准认证模式,比如NTLM和SPNEGO。4.1.用户凭证任何用户认证的过程,都需要一系列的凭证来确定用户的身份。最简单的用户凭证可以是用户名和密码这种形式。UsernamePasswordCredentials这个类可以用来表示这种情况,这种凭据包含明文的用户名和密码。这个类对于HTTP标准规

2015-11-20 16:42:09 572

转载 HttpClient4.3教程 第三章 Http状态管理

最初,Http被设计成一个无状态的,面向请求/响应的协议,所以它不能在逻辑相关的http请求/响应中保持状态会话。由于越来越多的系统使用http协议,其中包括http从来没有想支持的系统,比如电子商务系统。因此,http支持状态管理就很必要了。当时的web客户端和服务器软件领先者,网景(netscape)公司,最先在他们的产品中支持http状态管理,并且制定了一些专有规范。后来,网景通过发

2015-11-20 16:39:35 253

转载 HttpClient4.3教程 第二章 连接管理

2.1.持久连接两个主机建立连接的过程是很复杂的一个过程,涉及到多个数据包的交换,并且也很耗时间。Http连接需要的三次握手开销很大,这一开销对于比较小的http消息来说更大。但是如果我们直接使用已经建立好的http连接,这样花费就比较小,吞吐率更大。HTTP/1.1默认就支持Http连接复用。兼容HTTP/1.0的终端也可以通过声明来保持连接,实现连接复用。HTTP代理也可以在一

2015-11-20 16:38:12 542

转载 HttpClient 4.3教程 第一章 基本概念

1.1. 请求执行HttpClient最基本的功能就是执行Http方法。一个Http方法的执行涉及到一个或者多个Http请求/Http响应的交互,通常这个过程都会自动被HttpClient处理,对用户透明。用户只需要提供Http请求对象,HttpClient就会将http请求发送给目标服务器,并且接收服务器的响应,如果http请求执行不成功,httpclient就会抛出异样。下面是

2015-11-20 16:35:58 343

转载 20个高级Java面试题汇总

这是一个高级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。程序员面试指南:https://www.youtube.com/watch?v=0xcgzUdTO5MJava面试问题集合指南:https://www.youtube.com/watch?v=GnR4hCvEIJQ什么是可变参数?断言的用途?什么时候

2015-11-18 14:33:31 325

转载 Java ScriptEngine 解析js

一、脚本语言的支持     JSR 223中规范了在Java虚拟机上运行的脚本语言与Java程序之间的交互方式。JSR 233是JavaSE6的一部分,在Java表中API中的包是javax.script。目前Java虚拟机支持比较多的脚本语言,比较流行的有JavaScript、Scala、JRuby、Jython和Groovy等。 1. 脚本引擎     Java中执行脚本需

2015-11-13 18:42:19 13441

转载 浏览器分析模拟登陆过程

原文地址:http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_page_website/【前提】想要实现使用某种语言,比如Python,C#等,去实现模拟登陆网站的话,首先要做的事情就是使用某种工具,去分析本身使用浏览器去登陆网页的时候,其内部的

2015-11-11 14:51:28 13883 2

裁判文书最新js

function getKey(cookie) { // var cookie = getCookie('vjkl5'); var arrFun = [makeKey_0, makeKey_1, makeKey_2, makeKey_3, makeKey_4, makeKey_5, makeKey_6, makeKey_7, makeKey_8, makeKey_9, makeKey_10, makeKey_11, makeKey_12, makeKey_13, makeKey_14, makeKey_15, makeKey_16, makeKey_17, makeKey_18, makeKey_19, makeKey_20, makeKey_21, makeKey_22, makeKey_23, makeKey_24, makeKey_25, makeKey_26, makeKey_27, makeKey_28, makeKey_29, makeKey_30, makeKey_31, makeKey_32, makeKey_33, makeKey_34, makeKey_35, makeKey_36, makeKey_37, makeKey_38, makeKey_39, makeKey_40, makeKey_41, makeKey_42, makeKey_43, makeKey_44, makeKey_45, makeKey_46, makeKey_47, makeKey_48, makeKey_49, makeKey_50, makeKey_51, makeKey_52, makeKey_53, makeKey_54, makeKey_55, makeKey_56, makeKey_57, makeKey_58, makeKey_59, makeKey_60, makeKey_61, makeKey_62, makeKey_63, makeKey_64, makeKey_65, makeKey_66, makeKey_67, makeKey_68, makeKey_69, makeKey_70, makeKey_71, makeKey_72, makeKey_73, makeKey_74, makeKey_75, makeKey_76, makeKey_77, makeKey_78, makeKey_79, makeKey_80, makeKey_81, makeKey_82, makeKey_83, makeKey_84, makeKey_85, makeKey_86, makeKey_87, makeKey_88, makeKey_89, makeKey_90, makeKey_91, makeKey_92, makeKey_93, makeKey_94, makeKey_95, makeKey_96, makeKey_97, makeKey_98, makeKey_99, makeKey_100, makeKey_101, makeKey_102, makeKey_103, makeKey_104, makeKey_105, makeKey_106, makeKey_107, makeKey_108, makeKey_109, makeKey_110, makeKey_111, makeKey_112, makeKey_113, makeKey_114, makeKey_115, makeKey_116, makeKey_117, makeKey_118, makeKey_119, makeKey_120, makeKey_121, makeKey_122, makeKey_123, makeKey_124, makeKey_125, makeKey_126, makeKey_127, makeKey_128, makeKey_129, makeKey_130, makeKey_131, makeKey_132, makeKey_133, makeKey_134, makeKey_135, makeKey_136, makeKey_137, makeKey_138, makeKey_139, makeKey_140, makeKey_141, makeKey_142, makeKey_143, makeKey_144, makeKey_145, makeKey_146, makeKey_147, makeKey_148, makeKey_149, makeKey_150, makeKey_151, makeKey_152, makeKey_153, makeKey_154, makeKey_155, makeKey_156, makeKey_157, makeKey_158, makeKey_159, makeKey_160, makeKey_161, makeKey_162, makeKey_163, makeKey_164, makeKey_165, makeKey_166, makeKey_167, makeKey_168, makeKey_169, makeKey_170, makeKey_171, makeKey_172, makeKey_173, makeKey_174, makeKey_175, makeKey_176, makeKey_177, makeKey_178, makeKey_179, makeKey_180, makeKey_181, makeKey_182, makeKey_183, makeKey_184, makeKey_185, makeKey_186, makeKey_187, makeKey_188, makeKey_189, makeKey_190, makeKey_191, makeKey_192, makeKey_193, makeKey_194, makeKey_195, makeKey_196, makeKey_197, makeKey_198, makeKey_199, makeKey_200, makeKey_201, makeKey_202, makeKey_203, makeKey_204, makeKey_205, makeKey_206, makeKey_207, makeKey_208, makeKey_209, makeKey_210, makeKey_211, makeKey_212, makeKey_213, makeKey_214, makeKey_215, makeKey_216, makeKey_217, makeKey_218, makeKey_219, makeKey_220, makeKey_221, makeKey_222, makeKey_223, makeKey_224, makeKey_225, makeKey_226, makeKey_227, makeKey_228, makeKey_229, makeKey_230, makeKey_231, makeKey_232, makeKey_233, makeKey_234, makeKey_235, makeKey_236, makeKey_237, makeKey_238, makeKey_239, makeKey_240, makeKey_241, makeKey_242, makeKey_243, makeKey_244, makeKey_245, makeKey_246, makeKey_247, makeKey_248, makeKey_249, makeKey_250, makeKey_251, makeKey_252, makeKey_253, makeKey_254, makeKey_255, makeKey_256, makeKey_257, makeKey_258, makeKey_259, makeKey_260, makeKey_261, makeKey_262, makeKey_263, makeKey_264, makeKey_265, makeKey_266, makeKey_267, makeKey_268, makeKey_269, makeKey_270, makeKey_271, makeKey_272, makeKey_273, makeKey_274, makeKey_275, makeKey_276, makeKey_277, makeKey_278, makeKey_279, makeKey_280, makeKey_281, makeKey_282, makeKey_283, makeKey_284, makeKey_285, makeKey_286, makeKey_287, makeKey_288, makeKey_289, makeKey_290, makeKey_291, makeKey_292, makeKey_293, makeKey_294, makeKey_295, makeKey_296, makeKey_297, makeKey_298, makeKey_299, makeKey_300, makeKey_301, makeKey_302, makeKey_303, makeKey_304, makeKey_305, makeKey_306, makeKey_307, makeKey_308, makeKey_309, makeKey_310, makeKey_311, makeKey_312, makeKey_313, makeKey_314, makeKey_315, makeKey_316, makeKey_317, makeKey_318, makeKey_319, makeKey_320, makeKey_321, makeKey_322, makeKey_323, makeKey_324, makeKey_325, makeKey_326, makeKey_327, makeKey_328, makeKey_329, makeKey_330, makeKey_331, makeKey_332, makeKey_333, makeKey_334, makeKey_335, makeKey_336, makeKey_337, makeKey_338, makeKey_339, makeKey_340, makeKey_341, makeKey_342, makeKey_343, makeKey_344, makeKey_345, makeKey_346, makeKey_347, makeKey_348, makeKey_349, makeKey_350, makeKey_351, makeKey_352, makeKey_353, makeKey_354, makeKey_355, makeKey_356, makeKey_357, makeKey_358, makeKey_359, makeKey_360, makeKey_361, makeKey_362, makeKey_363, makeKey_364, makeKey_365, makeKey_366, makeKey_367, makeKey_368, makeKey_369, makeKey_370, makeKey_371, makeKey_372, makeKey_373, makeKey_374, makeKey_375, makeKey_376, makeKey_377, makeKey_378, makeKey_379, makeKey_380, makeKey_381, makeKey_382, makeKey_383, makeKey_384, makeKey_385, makeKey_386, makeKey_387, makeKey_388, makeKey_389, makeKey_390, makeKey_391, makeKey_392, makeKey_393, makeKey_394, makeKey_395, makeKey_396, makeKey_397, makeKey_398, makeKey_399]; var funIndex = strToLong(cookie) % arrFun.length; var fun = arrFun[funIndex]; var result = fun(cookie); return result } function Navi(id) { var unzipid = unzip(id); var realid = com.str.Decrypt(unzipid); return realid }

2019-01-10

HttpClient 4.3教程

HttpClient 4.3教程,详细介绍httpclient基础和使用

2015-11-20

文件上传下载

能够实现文件上传下载,技术比较前卫,自己复制能直接使用

2014-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除