召冠的博客

做对的事,脚踏实地,保持正直。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Java

摘要:产品或项目开发过程中,经常遇到一些存在上下级关系的树形结构,但在数据库中存储为二维表关系数据的情况。而前端树形控件又要求按照树形层级组织数据,这就存在一个平铺的关系数据转换为树形层级结构的典型问题。 表结构及二维数据示例(以id,parentid自关联为例): Create Table TreeDa 阅读全文

posted @ 2024-07-30 12:09 江城2211 阅读(81) 评论(0) 推荐(0)

摘要:百万级以上的大数据量的批量更新或删除,如果直接采用传统update、delete等DML,在高并发的生产系统有可能导致数据库宕机乃至触发数据库bug导致数据不一致等问题。 考虑了一下可行的解决方案: 方案一,只保留少量数据的删除场景,可以先将保留的数据查出并插入中间表,truncate原表然后再将中 阅读全文

posted @ 2024-06-22 16:53 江城2211 阅读(75) 评论(0) 推荐(0)

摘要:数据库 驱动类 JDBC连接 Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@//127.0.0.1:1521/Service_Name SQL Server com.microsoft.sqlserver.jdbc.SQLServe 阅读全文

posted @ 2024-04-30 11:09 江城2211 阅读(50) 评论(0) 推荐(0)

摘要:一般性的问题,采用 jcmd命令抓取进程的堆栈或内存快照分析即可(jcmd pid Thread.print | GC.heap_dump),但复杂问题可能需要获取方法调用时的上下文等更多信息,此时就需要更强大的工具协助分析。 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load 阅读全文

posted @ 2022-12-06 14:18 江城2211 阅读(330) 评论(0) 推荐(0)

摘要:参考资料: https://blog.csdn.net/zcl_love_wx/article/details/93977947 https://zhuanlan.zhihu.com/p/420560153 Java中锁的实现方式有两种:synchronized关键字和并发包中的锁类。synchro 阅读全文

posted @ 2022-05-12 09:56 江城2211 阅读(453) 评论(0) 推荐(0)

摘要:创建线程的代价是昂贵的,还会给GC带来压力,如果频繁创建线程那么GC的时候也需要回收对应的线程资源。使用线程池,一方面可以提升线程的使用率,减少对象的创建、销毁;另外,线程池还可以有效控制线程数,提升服务器的使用资源,避免因线程使用不当导致资源不足而发生宕机等问题。 示例代码如下: public s 阅读全文

posted @ 2022-03-12 18:44 江城2211 阅读(603) 评论(0) 推荐(0)

摘要:多负载环境,系统日志等场景为了方便明确具体应用增加了机器信息的记录,从网上搜到大量类似代码。但真正上生产环境后发现严重问题:随并发上升,该功能响应越来越慢,最后导致整个系统处于卡死状态。 分析发现,JDK内置的getLocalHost方法在信创等特定机器环境耗时较长,且该方法内有进程级的synchr 阅读全文

posted @ 2022-03-12 09:34 江城2211 阅读(191) 评论(0) 推荐(0)

摘要:使用如下方式时,实际等同于先查询记录,然后根据记录的id进行精准删除,并且删除一个不存在的记录,会抛异常。 @Transactional void deleteAllByIdIn(List<String> ids); @Transactional void deleteByName(String n 阅读全文

posted @ 2022-03-02 21:12 江城2211 阅读(750) 评论(0) 推荐(0)

摘要:JProfiler是分析java单点性能和内存问题的利器,查阅跟踪远程jvm的资料时,网上充斥着在服务端一通操作配置的内容。其实直接通过SSH连接方式,可以直接监控,初次使用时需要从外网下载一些agent libraries并自动上传服务器,联网下载后直接配置跟踪即可,在此简单记录备忘。 阅读全文

posted @ 2021-12-31 11:21 江城2211 阅读(1339) 评论(0) 推荐(0)

摘要:Eclipse Memory Analyzer 是一款功能强大的java内存快照的分析工具。 常见的分析方法,在此记录。 jcmd PID Thread.print pid-threadprint.logjcmd PID GC.heap_dump pid-heapdump.bin jcmd PID 阅读全文

posted @ 2021-03-07 18:09 江城2211 阅读(482) 评论(0) 推荐(0)

摘要:JVM启动参数建议如下: -server -Xmx8000M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitia 阅读全文

posted @ 2020-07-30 22:46 江城2211 阅读(530) 评论(0) 推荐(0)

摘要:YmdHMS="$(date +%Y%m%d-%H%M%S)" #set filename="trace-$(date +%Y%m%d-%H%M%S)" #echo $YmdHMS ./bin/jcmd /jstack/runtime/caf-bootstrap.jar VM.uptime >> t 阅读全文

posted @ 2020-07-30 21:05 江城2211 阅读(1333) 评论(0) 推荐(0)

摘要:resin4如何集成到myeclipse中 com.caucho.config.ConfigException: -server 'default' is an unknown server in the configuration file. 阅读全文

posted @ 2014-03-13 10:11 江城2211 阅读(575) 评论(0) 推荐(0)