java
JackLiu16
stay hungry,stay young!
展开
-
Linux网络编程“惊群”问题总结
1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。如今计算机都是多核了,网络编程框架也逐步丰富多了,我所知道的有多进程、多线程、异步事件驱动常用的三种模型。最经典的模型就是Nginx中所用的Master-Worker多进程异步驱动模型。今天和大家一起讨论一下网络开发中遇到的“惊群”现象。之前只是听说过这个现象...转载 2019-02-22 01:33:45 · 341 阅读 · 0 评论 -
【GC分析】Java GC日志查看
Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 UseParNewGC 打开此开关参数后,使用ParNew+Serial Old...转载 2019-07-24 22:36:27 · 437 阅读 · 0 评论 -
Java高并发,如何解决,什么方式解决
出处:https://www.cnblogs.com/lr393993507/p/5909804.html对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同...转载 2019-06-11 00:59:14 · 385 阅读 · 0 评论 -
浅谈Java中的equals和==
在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的...转载 2019-05-23 01:11:49 · 274 阅读 · 0 评论 -
一个接口有多个实现类,当调用接口中的方法时,如何判定用的是哪个实现类
一、简单例子:1.直接new一个实例,这样肯定知道用的哪个实例2.定义接口类型的变量,用某个实例去初始化。。。这样也是肯定知道用的哪个实例一般我们用第二种方式有一个好处,如果以后要改动,那么只需要修改其引用的实例,改动较少!举个例子:A接口,A1,A2,A3实现A接口,有一个eat方法,A1:吃饭,A2:吃鱼,A3:吃肉需要得到"吃肉",那么Aa=newA3();...转载 2019-05-11 21:33:55 · 12989 阅读 · 1 评论 -
同为框架,Struts2和SpringMVC比较的区别!
Struts2和SpringMVC是比较流行的MVC框架,二者的工作流程大体相似,从下面两张图就可以看出。,SpringMVC工作流程图图二SpringMVC的工作流程描述1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获;2.DispatcherServlet对请求URL进行解析...转载 2019-05-19 10:05:39 · 8158 阅读 · 1 评论 -
python网络编程——IO多路复用之select
出处:https://www.cnblogs.com/maociping/p/5121788.html1 IO多路复用的概念 原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv、send、sendall)时也是阻塞的。原生socket服务端在同一时刻只能处理一个客户端请求,即服务端不能同时与多个客户端...转载 2019-02-21 01:38:07 · 491 阅读 · 0 评论 -
python网络编程——网络IO模型
出处:https://www.cnblogs.com/maociping/p/5121788.html1 网络IO模型介绍 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socke...转载 2019-02-21 01:37:07 · 856 阅读 · 0 评论 -
内存溢出和内存泄漏的区别
1.1内存溢出:(Out Of Memory---OOM) 系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是...转载 2019-02-17 13:00:22 · 293 阅读 · 0 评论 -
最坏的设计 写最合理的程序
我发现我最前面的socket、2pc系列的代码式博文,没有什么评论和推荐,这直接导致我不再想写一些更深入一点的代码式博文了。还是写写这种乱七八糟的博文吧,这种的看起来比较受欢迎。 拿前一段时间比较热门的出行类app(滴滴,快的等)来举例说明,用最坏的设计,写最合理的程序。从另一个角度,来看程序设计。 当一个乘客,设置好了路线的起点和终点,并点击了叫车以后,服务器...转载 2019-08-21 23:00:40 · 455 阅读 · 0 评论