文章分类 -  java

摘要:1. Overview 为什么java程序消耗的内存,远超-Xms、-Xmx的限制?因为各种原因,或是为了进行某些优化,JVM会额外分配内存。这些额外的分配,会导致java程序占用的内存,超出-Xmx的限制。 本文档列举了通常情况下,JVM会分配哪几部分内存,以及各部分调整大小的方法。然后,了解如何 阅读全文
posted @ 2022-05-29 20:44 itank 阅读(1671) 评论(0) 推荐(0) 编辑
摘要:原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要 阅读全文
posted @ 2019-11-14 17:23 itank 阅读(355) 评论(0) 推荐(0) 编辑
摘要:Actor 模型 Actor 的基础就是消息传递,一个 Actor 可以认为是一个基本的计算单元,它能接收消息并基于其执行运算,它也可以发送消息给其他 Actor。Actors 之间相互隔离,它们之间并不共享内存。 Actor 本身封装了状态和行为,在进行并发编程时,Actor 只需要关注消息和它本 阅读全文
posted @ 2019-07-08 22:02 itank 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:Actor模型和Actor Actor模型是处理并行计算的概念模型。 它定义了系统部件行为和交互的一些规则。使用这个模型的最著名的编程语言是Erlang。模型中一个Actor是一个基本的计算单元。它接受消息然后基于接到的消息做一些计算。和面向对象编程有些类似,一个对象被调用(接收到一个消息),基于调 阅读全文
posted @ 2019-04-23 20:42 itank 阅读(818) 评论(0) 推荐(0) 编辑
摘要:Reactor模型 Reactor模型又称为Reactor设计模式,这个模式是从NIO中出来的,是一种基于事件驱动模型的设计模式。 Reactor中的组件 Reactor: 请求的派发者。 Acceptor: Acceptor接受client连接,一旦有请求过来,则直接将请求发送给Reactor。 阅读全文
posted @ 2019-04-23 20:10 itank 阅读(623) 评论(0) 推荐(0) 编辑
摘要:Instrumentation 简介 利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 In 阅读全文
posted @ 2019-03-30 17:21 itank 阅读(1679) 评论(0) 推荐(0) 编辑
摘要:Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本 阅读全文
posted @ 2018-09-13 11:25 itank 阅读(129) 评论(0) 推荐(0) 编辑
摘要:1. 内容概要 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, P 阅读全文
posted @ 2017-05-10 19:41 itank 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1. 引言 对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出InterruptedException还是重设中断状态以及在方法中吞掉中断状态会有什么后果?Thread.stop与中断相比又有哪些异同?什么情况下 阅读全文
posted @ 2016-12-23 18:12 itank 阅读(239) 评论(0) 推荐(0) 编辑
摘要:在 Internet 网络覆盖全球的今天,网络通信已经是当今软件开发过程中离不开的话题。在常用的Windows、Linux、Unix 系统当中,大部分的网络数据传输都是使用 TCP/IP、UDP/IP 作为底层传输协议的,而 HTTP 协议就是基于 TCP/IP 协议而运行的超文本传送协议。在 JA 阅读全文
posted @ 2016-03-04 18:31 itank 阅读(355) 评论(0) 推荐(0) 编辑
摘要:l定义一个消息类型先来看一个非常简单的例子。假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串、你感兴趣的查询结果所在的页数,以及每一页多少条查询结果。可以采用如下的方式来定义消息类型的.proto文件了:message SearchRequest {required string... 阅读全文
posted @ 2015-10-28 17:28 itank 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1,建立SocketSocket socket = new Socket();try{socket.connect(SocketAddress endpoint,int timeout);}catch(SocketTimeOutException e){... do with timeOut...}... 阅读全文
posted @ 2015-08-20 11:59 itank 阅读(425) 评论(0) 推荐(0) 编辑
摘要:Java线程调度的一点背景在各种各样的线程中,Java虚拟机必须实现一个有优先权的、基于优先级的调度程序。这意味着Java程序中的每一个线程被分配到一定的优先权,使用定义好的范围内的一个正整数表示。优先级可以被开发者改变。即使线程已经运行了一定时间,Java虚拟机也不会改变其优先级优先级的值很重要,... 阅读全文
posted @ 2015-08-17 16:45 itank 阅读(1368) 评论(0) 推荐(0) 编辑
摘要:Java并发编程:Lock 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从s... 阅读全文
posted @ 2015-07-23 19:50 itank 阅读(274) 评论(0) 推荐(0) 编辑
摘要:1. 背景1.1. 严峻的安全形势1.1.1. OpenSSL Heart bleed漏洞2014年上半年对网络安全影响最大的问题就是OpenSSL Heart bleed漏洞,来自Codenomicon和谷歌安全部门的研究人员发现OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K... 阅读全文
posted @ 2015-05-17 23:42 itank 阅读(8320) 评论(1) 推荐(0) 编辑
摘要:了解Java8 中的lambda表达式对开发人员来说没有什么比自己选择的语言或平台发布新版本更令人激动了。Java开发者也不例外。实际上,我们更期待新版本的发布,有一部分原因是 因为在不久前我们还在考虑Java的前途,因为Java的创造者——Sun在衰落。一次与死亡的擦肩而过会使人更加珍惜生命。但在... 阅读全文
posted @ 2014-09-10 14:37 itank 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示