日常作业

4.4JVM 调优工具
Jconsole,JProfile,VisualVM
Jconsole:jdk自带,功能简单,订单式可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪;
JProfiler:商业软件,需要付费,功能强大;
VisualVM:jdk自带,功能强大,与JProfiler类似。推荐。
4.5 如何调优
线程池:解决用户响应时间长的问题
连接池
JVM启动参数:调整各代的内存比例和垃圾回收算法,提高吞吐量程序算法:改进程序裸机算法提高性能
4.6内存泄露检查
内存泄露:对系统资源(堆、栈、线程等)危害比较大,因为他可以直接导致系统的崩溃
年老代堆空间被占满
异常: java.lang.OutOfMemoryError: Java heap space
解决:这种方式解决起来也比较容易,一般就是根据垃圾回收前后情况对 比,同时根据对象引用情况(常见的集合对象引用)分析,基本都可以找到泄漏点
持久代被占满
异常:java.lang.OutOfMemoryError: PermGen space
解决:

  1. -XX:MaxPermSize=16m
  2. 换用 JDK。比如 JRocket
    堆栈溢出
    异常:java.lang.StackOverflowError 说明:这个就不多说了,一般就是递归没返回,或者循环调用造成
    线程堆栈满
    异常:Fatal: Stack size too small
    解决:增加线程栈大小。-Xss2m。但这个配置无法解决根本问题,还要看代 码部分是否有造成泄漏的部分。
    系统内存被占满
    异常:java.lang.OutOfMemoryError: unable to create new native thread
    解决:
  3. 重新设计系统减少线程数量。
  4. 线程数量不能减少的情况下,通过-Xss 减小单个线程大小。以便能生产 更多的线程。
    二.Java Web
    1.JDBC 技术
    1.1 说一下原生jdbc 操作数据库流程
    第一步:Class.forName()加载数据库连接驱动
    第二步:DriverManager.getConnection()获取数据连接对象
    第三步:根据SQL获取sql会话对象,有2种方式Statement,PreparedStatement;
    第四步:执行SQL处理结果集,执行SQL前如果有参数值就设置参数值setXXX();
    第五步:关闭结果集、关闭会话、关闭连接
    1.2说说事务的概念,在JDBC编程中处理事务的步骤
    事务特性:原子性、一致性、隔离性、持久性(ACID)属性
    事务处理步骤:
    Conn.setAutoComit(false);设置提交方式为手工提交
    Conn.commit()提交事务
    Conn.rollback();出现异常,回滚;
    1.3 JDBC的脏读是什么?那种数据库隔离级别能防止脏读
    transactionreadcommitted,transactionreperatableread
    和transaction_serializable隔离级别可以防止脏读
    2.网路通讯部分
    2.1TCP与UDP区别
    聊天、网络视频会议、桌面共享用的就是UDP
    UDP

    这里写自定义目录标题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值