自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

晚晴小筑

向青草更青处漫溯

  • 博客(1234)
  • 资源 (50)
  • 收藏
  • 关注

原创 一个 0 引发的血案

本想起 一个 0 引发的血案 ,本着无事不调侃的性取向,索性改为一个馒头引发的血案。

2020-04-08 21:49:27 676

原创 Thrift 调用分析

Thrift 定义文件model.thriftnamespace java com.meituan.modelstruct Request { 1: required i32 age; 2: required string name;}struct Response { 1: required i16 code; 2: ...

2020-04-05 12:01:02 678

原创 使用 thrift 遇到的一个 bug

org.apache.thrift.protocol.TProtocolException: Required field 'statusCode' was not found in serialized data! Struct: com.meituan.itc.udm.mustang.thrift.JudgeResponse$JudgeResponseStandardScheme@689774...

2020-04-03 10:31:24 2240

原创 Thrift 生成文件解析

thrift 文件namespace java com.meituan.modelstruct Pair { 1: required string key; 2: required string value; 3: required i16 test1; 4: optional i32 test2; 5: opt...

2020-04-03 10:27:54 1581

原创 thrift-TSimpleJSONProtocol

Thrift JSON 序列化实现,只写操作。JSON 的弊端就是没有类型信息,如对于一个整数,无法区分 short,int,long,double等。 @Test public void test4() throws IOException, TException { Person person = new Person(); person.setN...

2020-04-03 10:24:21 619

原创 thrift-编解码流程

Thrift protocol 层需要进行 4 次编解码操作:客户端对请求进行编码,服务端对请求进行解码服务端对响应进行编码,客户端对响应进行解码helloservice.thriftnamespace java com.meituan.serviceinclude "model.thrift"service HelloService { model.R...

2020-04-03 10:21:58 809 4

原创 thrift-TBinaryProtocol

TBinaryProtocol 工厂类。 public static class Factory implements TProtocolFactory { protected long stringLengthLimit_; protected long containerLengthLimit_; protected boolean strictRead_; ...

2020-04-03 10:14:08 755

原创 thrift-protocol

// Thrift 消息类型public final class TMessageType { public static final byte CALL = 1; // 调用远程方法,并且期待对方发送响应 public static final byte ONEWAY = 4; // 调用远程方法,不期待响应。即没有步骤3,4 public static final by...

2020-04-03 09:50:21 652

原创 IDL 生成文件

IDL 生成文件在 thrift 栈中的位置。对于如下的 thrift :namespace java com.meituan.serviceservice HelloService{ string sayHello(1:string username)}生成:// thrift 0.8.0public class HelloService { public ...

2020-04-03 09:39:58 1222

原创 java.lang.NoClassDefFoundError: javax/el/ELManager

HTTP ERROR 503Problem accessing /evolve/qixi/test. Reason: Service UnavailableCaused by:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframewor...

2020-03-18 09:58:58 5239

原创 google authenticator

【google authenticator】使用基于时间的一次性密码(Time-based One-time Password,简称TOTP)实现。离线实现即不需要联网。https://blog.seetee.me/post/2011/google-two-step-verification/https://segmentfault.com/a/1190000016100672https...

2020-03-18 09:54:20 958

原创 git 误传二进制文件

git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5git rev-list --objects --all | grep 86bab29452f7bf6b2bf0afd5950a2365e178ee89git rev-list --objects --all | grep b234a94d1931...

2020-03-18 09:52:58 436

原创 Feistel 算法

学习资料:https://www.jiamisoft.com/blog/8903-feisteljiegouhundunjiamisuanfa.htmlhttps://blog.iwannarun.cn/2017/11/03/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E8%87%AA%E5%A2%9EID%E7%94%9F%E6%88%90%E5%8F%AF%E...

2020-03-18 09:51:50 826

原创 java nio 学习笔记

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写...

2020-03-06 09:35:47 348

原创 thrift-transport

org.apache.thrift.transport.TTransport传输组件抽象描述。​public abstract class TTransport implements Closeable { public abstract boolean isOpen(); public boolean peek() { return isOpen(); } public ab...

2020-03-05 22:52:46 1180

原创 thrift-processor

TProcessor 是服务调用组件。负责从 TProtocol 输入流读取消息,写入到 TProtocol 输出流。TProcessorpublic interface TProcessor { public boolean process(TProtocol in, TProtocol out) throws TException;}TBaseProcessorTB...

2020-03-05 22:51:55 905

原创 HashMap 分析(doing)

JDK8 中,HashMap 使用 数组+链表+红黑树来实现。getget(Object key) 的处理流程:计算 key 的 hash 值,根据 hash 值找到对应数组下标:hash & (table.length - 1)判断数组该位置处的元素(头结点)是否刚好就是我们要找的,如果不是,走第三步判断该元素类型是否是 TreeNode,如果是,用红黑树的方法进行查找;如...

2020-02-23 15:28:03 203

原创 java.net.URLClassLoader#findClass解析

​jdk1.8 中 AppClassLoader 与 ExtClassLoader 都继承于 URLClassLoader。AppClassLoader 与 ExtClassLoader 没有重写 findClass 方法,URLClassLoader重写了 findClass 方法。故 findClass 都指向 URLClassLoader。protected Class<?&g...

2020-02-23 15:22:56 7407 2

原创 Java 对象占用大小

JDK8_64_HotSpot VM这个环境中的默认配置下,压缩对象指针(UseCompressedOops)和压缩类指针(UseCompressedClassPointers)都是打开的。java -XX:+PrintCommandLineFlags Test-XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4294967296 -XX:+Prin...

2020-02-23 15:16:26 329

原创 JDK8 实现重试

@FunctionalInterfacepublic interface Supplier<T> { T get();}@FunctionalInterfacepublic interface Predicate<T> { boolean test(T t); default Predicate<T> and(Predic...

2020-02-23 15:11:59 511

原创 动态代理

jdkpackage com.meituan.test;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface Hello { void sayHello();}class HelloImpl i...

2020-02-23 15:09:21 251

原创 调试中遇到的一个 bug

ConstantPool.getStringAt()## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x00000001059e73f6, pid=16016, tid=0x0000000000001803## JRE version: Java(TM...

2020-02-23 15:03:04 1724

原创 sun.misc.URLClassPath 解析

作用:Java 中加载类和查找资源的路径jdk8http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/8477fd88653c/src/share/classes/sun/misc/URLClassPath.javajdk9http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/9b93380c8445/src/...

2020-02-23 14:59:53 4406

原创 sun.misc.MetaIndex

作用:文件查找的快速拒绝机制public class MetaIndex { private static volatile Map<File, MetaIndex> jarMap; private String[] contents; // 是否是只包含 class 的 jar 包 private boolean isClassOnlyJar; ...

2020-02-23 14:51:46 583

原创 sun.misc.Launcher

针对 jdk1.8,jdk9 以后就没有该文件了。http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/raw-file/8477fd88653c/src/share/classes/sun/misc/Launcher.javapublic class Launcher { // 自定义通讯协议设计 private static URLStream...

2020-02-23 14:48:52 1814

原创 mac 编译 openjdk11

下载 openjdk 镜像hg clone https://hg.openjdk.java.net/jdk/jdk11/或者在 http://jdk.java.net/下载下载前置依赖brew install FreeTypebrew install Autoconf执行 configure 检查bash ./configure --with-target-bits=...

2020-02-23 14:42:54 824

原创 IO模型

你要叫滴滴打车,有以下几种做法:叫车之后,就一直在路口等着,车来了自己上去——同步、阻塞叫车之后,一边等着一边看美女,车来了自己上去——同步,非阻塞叫车之后,光顾着看美女,司机到了之后打电话给你——异步、非阻塞即是:同步就是你要自己检查车来了没有;异步就是车来了司机联系你(回调)。阻塞就是等车的时候老实等着,别干别的(被阻塞);非阻塞就是等车的时候你可以做其他事情。https:/...

2020-02-20 10:12:08 287

原创 抓包 thrift 消息

helloservice.thriftnamespace java com.meituan.serviceinclude "model.thrift"service HelloService { model.Response sayHello(1: model.Request req)}model.thriftnamespace java com.meituan.mo...

2020-02-18 23:33:26 1008

原创 Thrift0.8当接口返回类型i16/i32/i64/bool时,客户端无法捕获服务端抛出的异常

测试代码:namespace java com.meituan.serviceexception BugTestException{ 1: required i32 code; 2: required string msg;}service HelloService { i32 bugCall() throws (1: BugTestException e);...

2020-02-18 23:24:32 812 1

原创 mac 定时任务

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> &...

2020-01-19 13:06:48 281

原创 RPC 学习笔记

RPCRPC(Remote Procedure Call) 是一种进程间通信方式。它允许程序调用另一个地址空间的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的,本质上编写的调用代码基本相同。现有的 RPC 实现基本都是由以下五部分组成:UserUser-stubRPCRuntimeServer-stubServer这里 user 就是 cli...

2019-03-30 11:52:59 521 3

原创 windows 10 linux子系统配置

更改 apt 源lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04.1 LTSRelease: 18.04Codename: bionichttps://mirrors.tuna.tsinghua.edu.cn/help/...

2019-03-27 18:21:03 620

原创 windows nginx autoindex 中文目录/文件名乱码解决办法

src\http\modules\ngx_http_autoindex_module.c// 响应处理static ngx_int_t ngx_http_autoindex_handler(ngx_http_request_t *r){}可以看到默认是以 html 格式响应返回的文件列表。static ngx_buf_t *ngx_http_autoindex_html(ngx_ht...

2019-03-05 19:53:13 6345 2

转载 日请求量过亿,谈陌陌的Feed服务优化之路

先从产品层⾯面介绍一下Feed业务。Feed本⾝身就是一段简短文字加一张图片,带有位置信息,发布之后可以被好友和附近的人看到,通过点赞评论的方式互动。类似微博和朋友圈。陌陌上季度的MAU为6980万,Feed作为主要的社交业务,从2013年上线到现在,日请求量超过亿,总数据量超过百亿。下面是Feed系统的整体架构图:资源层主要使用Redis、MongoDB、HBase等NoSQL类型数据...

2019-02-26 15:02:07 1013

原创 微信小程序学习记录

小程序组成js 对应业务逻辑,负责交互。json 对应配置。wxml 类似于 html。wxss 类似于 xss 的样式表。app.json:小程序全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。project.config.json:小程序开发工具的全局配置。小程序生命周期...

2019-01-08 13:52:39 408

原创 java.lang.Class 解析

public final class Class&amp;amp;amp;amp;lt;T&amp;amp;amp;amp;gt; implements java.io.Serializable,GenericDeclaration,Type,AnnotatedElement {}

2018-11-08 12:33:47 441 1

原创 Java static变量保存在哪?

java -versionjava version &amp;amp;amp;amp;quot;1.8.0_171&amp;amp;amp;amp;quot;Java(TM) SE Runtime Environment (build 1.8.0_171-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)// java -XX:+UseSerialGC -XX:-UseCompre...

2018-07-28 13:28:39 26046 17

原创 Java后台研发面试题汇总

2019 年校招马上开始,开始准备面试题目。

2018-07-13 13:07:48 7899

原创 String.hashCode() 31?

所谓世事洞明皆学问,在String.hashCode()中为何选择 31 作为魔数?public int hashCode() { int h = hash;//缓存该 hash if (h == 0 &amp;amp;&amp;amp; value.length &amp;gt; 0)...

2018-07-03 20:41:12 905

原创 Jedis 批量插入数据

测试环境:测试:在 set 中插入 28629151 条 长度为 5 的字符串。直接插入import redis.clients.jedis.Jedis;public class GeneratorMain { private static final char[] CODE = &quot;23456789ABCDEFGHJKMNPQRSTUVWXYZ&quot;.toCharArray...

2018-06-08 11:34:22 4649

医院信息科考试题医院信息科考试题

医院信息科考试题

2022-06-24

阿里巴巴编码规范试题答案

阿里巴巴编码规范试题答案

2022-05-05

lua-cjson-2.1.0-已编译

LUA-cjson已经编译 LUA-cjson已经编译 LUA-cjson已经编译 LUA-cjson已经编译 LUA-cjson已经编译 LUA-cjson已经编译

2018-04-16

mybatis plugin 3.21

将压缩包里的 MyBatis plugin 文件夹解压到 .IntelliJIdea\config\plugins 目录即可使用

2017-12-26

mybatis plugin 3.21破解补丁

mybatis plugin 3.21破解补丁 mybatis plugin 3.21破解补丁 mybatis plugin 3.21破解补丁

2017-11-13

QQWry-源码

QQWry源码,包括:ipsearcher、ipwry以及转换器。 QQWry源码,包括:ipsearcher、ipwry以及转换器。 QQWry源码,包括:ipsearcher、ipwry以及转换器。

2017-11-13

MyBatis3学习资料

目前来看最优秀的MyBatis3学习资料,没有之一。 目前来看最优秀的MyBatis3学习资料,没有之一。

2017-10-19

Privacy in Location-Based Applications

Privacy in Location-Based Applications书籍 Privacy in Location-Based Applications书籍

2017-10-17

Eclipse开发环境配置

Eclipse开发环境配置Eclipse开发环境配置Eclipse开发环境配置Eclipse开发环境配置

2017-09-29

Differential Privacy

微软的C. Dwork提出了一个概念,叫做Differential Privacy(差分隐私技术) `

2017-09-14

BJUT数字图像处理作业

本论文的编写围绕四个项目:图像空域/时域变换、图像增强、染色体计数与提取Mnist链码组成。项目的编写基于Windows 7 操作系统,使用VS2013作为开发环境,以OpenCV作为内部核心处理算法库。

2017-01-10

MoveableWindow

MoveableWindow

2016-10-16

Android逆向助手_v2.2

Android逆向助手_v2.2

2016-07-27

Android APK 反编译工具

Android APK 反编译工具

2016-07-27

北工大考研数据结构

北工大考研数据结构

2016-07-27

windows高级程序设计课件

windows高级程序设计课件 杨力祥

2016-07-27

凯立德2015版配置修改工具

凯立德2015版配置修改工具

2016-07-27

Lua程序设计(第二版)

Lua程序设计(第二版)

2016-07-27

反汇编深入分析函数调用

反汇编深入分析函数调用

2016-07-27

QQ截图工具

QQ截图工具

2016-07-22

QQ截图插件合集

QQ邮箱截图插件 微信截图插件 百度截图插件 搜狗截图插件

2016-07-21

基于Android系统电子词典的设计与开发

基于Android系统电子词典的设计与开发

2015-09-19

c++实现查询天气预报

c++实现查询天气预报,简单实现!

2013-11-21

voice yeapp player2003

voice yeapp player2003

2013-11-17

ipwry源码 qqwry的升级版

ipwry源码 qqwry的升级版

2013-11-17

ipwry cnss出品

ipwry cnss出品

2013-11-17

ipwryQQwry的升级版

ipwryQQwry的升级版

2013-11-17

堆栈平衡(简单main函数演示)

堆栈平衡(简单main函数演示)

2013-10-29

堆栈平衡ppt

讲解堆栈平衡很不错的一个ppt,通俗易懂

2013-10-28

C++书写规范

C++书写规范

2013-09-03

运筹学teachdp动态规划

运筹学teachdp动态规划

2013-05-31

差分约束系统

差分约束系统

2013-05-22

浅析字母树在信息学竞赛中的应用

浅析字母树在信息学竞赛中的应用

2013-05-22

迷宫问题实现

迷宫问题实现

2013-05-03

ACM搜索算法

ACM搜索算法

2013-04-21

C ++标准模板库

C ++标准模板库

2013-04-13

C++STL介绍

C++STL

2013-04-13

动态规划1-张惜今

动态规划1-张惜今

2013-04-12

动态规划2-张惜今

动态规划2-张惜今

2013-04-12

IT学生解惑真经

IT学生解惑真经

2013-03-31

空空如也

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

TA关注的人

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