- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 百万长连接,参数调优
其中服务端 IP、 服务端 Port 已经固定了 (就是监听的 TCP 程序),所以理论的链接数量上限取决于(客户端 IP * 客户端 Port)的组合数量了。短时间内打开大量网络(文件)链接,超过操作系统对单个进程允许打开的文件描述符(file descriptor)数量限制。综上所述,一个服务端的 TCP 网络应用,可以支持最大链接数量主要取决于其内存大小(内核参数都已经调优的情况下)。soft open files 是 Linux 系统参数,影响系统单个进程能够打开最大的文件句柄数量。
2024-11-05 16:19:47
1135
原创 TCP 半链接和全连接
在linux2.2 之前,backlog大小包括了两个队列的大小,在2.2之后,分别用下面两个参数控制 sync queue - 半连接队列 大小通过/proc/sys/net/ipv4/tcp_max_sync_backlog指定,在syncookies启用的情况下,逻辑上没有最大限制,这个设置便被忽略 accept queue - 全连接 其大小通过/proc/sys/net/core/somaxconn指定,在使用listen函数时,内核会根据传入的backlog参数与系统参数,取二者
2024-10-24 16:15:14
289
原创 JVM 调优
FullGC应该控制在几小时或者几天发生一次,每次400毫秒(不是很良好)younggc每天1000次左右(还好),每分钟1次左右,每次younggc在50毫秒左右常用的调试工具还有: HSDB。
2024-10-24 14:42:14
378
原创 IO零拷贝
DMA,英文全称是,即直接内存访问。DMA 本质上是一块主板上独立的芯片,允许外设设备和内存存储器之间直接进行 IO 数据传输,其过程不需要 CPU 的参与。操作系统的核心是内核,与普通的应用程序不同,它可以访问受保护的内存空间,也有访问底层硬件设备的权限。为了避免用户进程直接操作内核,保证内核安全,操作系统将虚拟内存划分为两部分,一部分是内核空间(Kernel-space),一部分是用户空间在 Linux 系统中,内核模块运行在内核空间,对应的进程处于内核态;
2024-10-24 14:26:12
885
原创 如何合理配置线程池
和内存打交道,大量计算。例如大数的计算,正则匹配Ncpu+1和磁盘,网络,文件,数据库交互很多的。由于 IO 密集型任务线程并不是一直在执行任务,在操作的时间,是不消耗CPU的。不会经常在CPU内切换线程上下文,则应配置尽可能多的线程,如 2*Ncpu。对于 IO 型的任务的最佳线程数,有个公式可以计算NCPU 是处理器的核的数量UCPU 是期望CPU 利用率(应该介于 0 和 1 之间)
2024-10-18 11:08:46
408
原创 oracle中常用的sql
oracle有三个默认的用户sys change_on_install [as sysdba]system managerscott tiger创建用户create user lisi identified by lisi;系统权限grant create session to lisi;grant create table to lisi;gra
2013-10-30 17:29:05
391
原创 如何修改oracle管理员密码
oracle有三种验证机制第一种是操作系统验证第二种是密码文件验证第三种是数据库验证数据库管理员使用的是操作系统验证和密码文件验证对于管理员如果密码丢失,可以通过删除密码文件重新生成密码文件来修改管理员密码更改步骤如下:1、把原来的密码文件删掉,路径如下 e:\oracle\ora92\database\pwdora9i.ora;orapwd file=
2013-10-30 16:11:59
1027
原创 卸载 移除Oracle 11g
1、停止服务列表中的5个服务---------------->cmd---------->services.msc 显示列有oracle的五个服务,Oracle ORCL VSS Writer Service、OracleDBConsolercl、OracleJobSchedulerORCL、OracleOraDb11g_home1TNSListener、OracleServiceORCL
2013-07-31 11:45:10
810
原创 struts2的常量配置default.properties
1、struts.configuration: 该常量指定加载struts2配置文件的配置管理器。该常量的默认值是org.apache.struts2.config.DefaultConfiguration,这是struts默认的配置文件管理器。如果需要实现自己的配置文件管理器需要实现Configuration接口,该类可以自己加载struts2配置文件。2、struts.locale:指定w
2013-03-28 15:50:03
531
原创 request对象
1、获得请求头/请求参数 web应用是请求、响应架构的应用,浏览器发送请求时通常会附带一些请求头,还可能包含一些发送给服务器的请求参数,服务器端负责解析请求头、请求参数的就是JSP或servlet,而jsp和servlet就是从request中获得请求参数的。reaquest是HttpServletRequest接口的实例,它提供了如下几个方法来获取请求参数。 1
2013-03-21 15:18:00
434
原创 乱码解决方案
中文乱码主要工区分是页面乱码、action乱码和数据库乱码,大致原理是是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码方法)1、如果是servlet request.setCharacterEncoding("gb2312");//请求字符集response.setContentType("
2013-03-21 08:46:30
449
原创 反射
1、获得字节码的一种方法 1.1 第一种方法 Class clazz = Class.forName("包名+类名"); 1.2 第二种方法Class clazz = new People().getClass();1.3 第三种方法Class clazz = People.class;2、反射类的构造函数2.1 情况一 不带参数
2013-01-20 19:20:48
221
原创 集合collection
1、集合是存储对象最常用的一种方式2、数组和集合类同是容器,有何不同? 2.1 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。 2.2 数组是可以存储基本数据类型,集合只能存储对象。3、集合类的特点 3.1 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。4、collection中主要包含list和set 4.1 看共性
2012-12-04 19:04:43
237
原创 struts2概要
2. Struts1 怎样实现MVC? 2.1 核心控制器 2.1.1 核心控制器 ActionServlet 2.1.2 业务逻辑控制器 Action 2.2 提供了标签,简化V的编写 2.3 表现层框架对M没有支持 3. Struts1 有什么样的缺点? 对servlet的简单封装 3.1 支持的表现
2012-12-02 20:23:05
266
原创 struts1.2概要
1、异常(例:struts_7) 1.1 src中: public class MyExceptionHandle extends ExceptionHandler { @Override public ActionForward execute(Exception ex, ExceptionConfig ae,ActionMapping mappi
2012-12-02 20:19:58
284
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅