Unknown

Universe

[转载]golang和传统语言的网络层处理的对比

前言 原文写的挺好的,我决定节选一部分过来 节选自Golang服务器的网络层实现 传统语言的网络层处理 服务需要同时服务N个客户端,所以传统的编程方式是采用IO复用,这样在一个线程中对N个套接字进行事件捕获,当读写事件产生后再真正read()或者write(),这样才能提高吞吐: 上图中: 绿色线程为接受客户端TCP链接的线程,使用阻塞的调用socket.accept(),当有...

Java的一些异常处理

1 这方面的资料不胜枚举,此文仅供本人备忘用. 1 2 3 4 5 6 7 8 9 10 11 12 13 static String a() { try { throw new RuntimeException("a"); } catch (RuntimeException e) { return...

Mysql的奇技巧淫

慢查询优化基本步骤 先运行看看是否真的很慢,注意设置SQL_NO_CACHE where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高 explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询) order by limit 形式的sql语句让排...

Java JVM瞎搞

常用的垃圾收集器 ParNew 收集器 -XX:ParallelGCThreads 限制垃圾收集的线程数 Parallel Scavenge收集器 最大垃圾收集停顿时间 -XX:MaxGCPauseMillis 吞吐量大小 -XX:GCTimeRatio 调低最大垃圾收集停顿时间以牺牲吞吐量和新生代空间作为代价,直接导致垃圾收集变得更加频繁 新手向操作: -XX:UseAdapt...

Java8的stream API

前期准备 定义实体 定义集合 stream的其他用法 [用于校验集合](#用于校验集合(引用自IBM) 自己生成流 Stream.iterate stream的注意事项 流只能用一次,重复使用会导致以下异常 filter ...

C#的 LINQ 拓展方法

前期准备 定义实体 定义集合 完整代码 参考链接 前期准备 定义实体 public class Person { /// <summary> /// 身高 /// </summary> /// <re...

Java8的stream API与 C#的 LINQ 拓展方法对比

前期准备 定义实体 定义集合 单集合 分类筛选 计数(Count) 分组(GroupBy) 匹配的第一项(findFirst/First,FirstOrDefault) 遍历(ForEach) ...

WechatMagician(微信巫师)

实现原理 WechatMagician的部分功能的实现原理是这样的. 微信应用在本地的数据库里面储存了大量信息,WeChatMagician在对数据库进行操作之前做了一些手脚,让原本的行为发生改变. 举个例子,用户 A 发信息给用户 B之后,用户 B 的手机上面的应用数据库会保存这条信息.而如果用户 A 此时选择撤回消息,那么用户 B 的微信app 会删除相应的这条信息记录.那么巫师...

springMVC的验证注解

Bean Validation 规范内嵌的约束注解定义 1 2 3 4 5 6 7 8 9 10 11 12 13 14 约束注解名称 约束注解说明 @Null 验证对象是否为空 @NotNull 验证对象是否为非空 @AssertTrue 验证 Boolean 对象是否为 true @AssertFalse 验证 Boolean 对象是否为 false @Min 验证 Number 和 S...

发布到ASP.NET CORE项目到 Windows server 2012

装软件 .NET Core Windows Server 托管捆绑包 ASP.NET Core 模块是一个 IIS 7.5+ 模块,它负责 ASP.NET Core HTTP 侦听器的进程管理,并将请求代理到它所管理的进程。 目前,为 IIS 安装 ASP.NET Core 模块的过程为手动操作。 需要在常规(而不是 Nano)计算机上安装 .NET Core Windows Se...