随笔分类 -  java/java web

1 2 3 下一页
TS class与JS原型链
摘要:TS class与JS原型链 导出时间: 2025/12/30 11:16:59 对话 ID: 6940cbac-2410-8322-9cf3-aa104e91bbcf 消息数: 12 用户 · 2025/12/16 11:02:00 解释一下ts中的class和js原型链之间的关系。 助手 · 2 阅读全文
posted @ 2025-12-30 11:34 J.M.Liu 阅读(26) 评论(0) 推荐(0)
温故而知新,读懂java字节码
摘要:字节码只有两种结构:无符号数和表。整体结构如下表所示。 魔术 魔术是固定的,用十六进制表示为 cafebabe,用以表示这是一个java字节码。 版本号 版本号现代只用主版本号,此版本号全部为0. 在jdk12时期,此版本号被用作公测特性申明。 常量池 只有常量池的计数和序号从1开始,其他重复项的技 阅读全文
posted @ 2022-02-08 10:17 J.M.Liu 阅读(150) 评论(0) 推荐(0)
Gradle中的SourceSet理解
摘要:对于maven项目来说,目录结构是固定的,也就是像这样: Gradle也是一样的,他也有一个约定的目录结构,格式和maven的结构一样。但不同的是,gradle的目录结构是可以改的,官网中叫做Changing the project layout。怎么改,或者说怎么自定义?这就要用到SourceSe 阅读全文
posted @ 2019-04-19 15:00 J.M.Liu 阅读(5266) 评论(0) 推荐(1)
CyclicBarrier正确的使用方法和错误的使用方法
摘要:CyclicBarrier是java推出的一个并发编程工具,它用在多个线程之间协同工作。线程约定到达某个点,到达这个点之后的线程都停下来,直到最后一个线程也到达了这个点之后,所有的线程才会得到释放。常用的场景是:多个worker线程,每个线程都在循环地做一部分工作,并在最后用cyclicBarrie 阅读全文
posted @ 2019-04-12 17:41 J.M.Liu 阅读(6912) 评论(1) 推荐(1)
jstack 结果查看
摘要:首先可以用jstack -l pid >sample.dump把java进程的运行栈dump出来。 还可以用grep java.lang.Thread.State sample.dump | awk '{print $2}' | sort -n | uniq -c 来看看进程中都有哪些线程状态。 首 阅读全文
posted @ 2019-01-27 19:14 J.M.Liu 阅读(4413) 评论(0) 推荐(0)
java1.8中ConcurrentHashMap
摘要:java1.8中的ConcurrentHashMap做了非常大的改动,整个数据结构都发生了变化,已经不存在segment了。所以要好好重新查看下源码。这篇博客是逐步更行的,看一点写一点。 首先看一个很重要的参数sizeCtl,这是一个volatile变量,从名字就可以看出,这是一个大小控制参数。这个 阅读全文
posted @ 2019-01-27 18:48 J.M.Liu 阅读(328) 评论(0) 推荐(0)
hibernate 学习笔记3
摘要:1. 多对多关联: 在双方都要用一个类型为Set的属性保存对方的信息,并在映射配置文件中指定这个属性的名字,并指定中间表。还需要通过<key column=””>来指定自己在中间表中对应的外键。在<many-to-many>标签中,要配置对方的类,并且指定对方类在中间表中的对应的外键 *学生表配置文 阅读全文
posted @ 2018-12-26 12:18 J.M.Liu 阅读(184) 评论(0) 推荐(0)
hibernate 学习笔记2
摘要:1.Criteria查询接口适用于组合多个限制条件来搜索一个查询集。 要使用Criteria,需要遵循以下步骤: *创建查询接口: Criteria criteria=session.createCriteria(User.class); *设置查询条件: criteria.add(Restrict 阅读全文
posted @ 2018-12-26 12:17 J.M.Liu 阅读(257) 评论(0) 推荐(0)
hibernate 学习笔记1
摘要:Hibernate session1 1.连接池的最小连接数指的是连接池初始化之后,就存在的连接数,这些连接放在内存中,等待被使用。最大连接数限定了连接池中最大同时连接数量,如果超过了这个数量,则进入等待队列中,需要等其他连接退出之后,才能进行连接。 2.自动建表功能有create-drop,cre 阅读全文
posted @ 2018-12-26 12:16 J.M.Liu 阅读(220) 评论(0) 推荐(0)
hibernate 中对象的3种状态总结
摘要:1.Hibernate把对象分文三种状态:Transient(临时状态)、Persistent(持久化状态)、Detached(游离状态)。 1)Transient:刚刚new出来的对象,就是Transient状态的,此时他没有OID。 *获得瞬时态对象 ** User user=new User( 阅读全文
posted @ 2018-12-26 11:38 J.M.Liu 阅读(2694) 评论(0) 推荐(0)
java中的各种命令参数
摘要:java中有很多命令参数,这些命令参数有些是控制jvm行为的,有的则是供应用程序使用。我所了解的参数主要有三种,现在说一说这三种类型的参数。 (1)命令行参数。 命令行参数就是类似与c语言的命令行参数,这些参数会传给main函数,也就是java中 public static void main(St 阅读全文
posted @ 2018-11-29 16:05 J.M.Liu 阅读(2881) 评论(1) 推荐(0)
spring mvc中DispatcherServlet如何得到ModelAndView的
摘要:首先看下面这种张图,这张图说明了spring mvc整体的流程。 本文讲的就是如何从DispatcherServlet中得到ModerAndView的过程。 首先看DispatherServlet这个类的doService方法,学过servlet的人都知道,它是web容器处理请求的入口。 可以看到, 阅读全文
posted @ 2018-11-28 11:09 J.M.Liu 阅读(1018) 评论(0) 推荐(0)
spring mvc中的控制器方法中的参数从哪里传进来?
摘要:编写控制器方法的时候很奇怪,spring是怎么知道你控制器方法的参数类型,并且注入正确的对象呢? 比如下面这样 他怎么知道Model对应啥呢? 其实,spring首先会反射这个方法,然后获得参数的类型,另外在spring中,保存着一系列的argumentResolvers参数理器对象,这些参数处理器 阅读全文
posted @ 2018-11-21 22:37 J.M.Liu 阅读(451) 评论(0) 推荐(0)
进程中的一个线程死了所引发的后果
摘要:我们知道,同一个进程中的多个线程共享进程资源,包括主内存、文件句柄、锁资源等。那么当一个线程死了(非正常退出、死循环等)就会导致线程该占有的资源永远无法释放,从而影响其他线程的正常工作,看下面一个例子。 输出: 可以看到,第二个线程并没有执行下去。原因如下: 在第一个线程threadRuntimeE 阅读全文
posted @ 2018-09-02 11:38 J.M.Liu 阅读(4730) 评论(1) 推荐(0)
hibernate的中的查询与级联操作
摘要:1.Criteria查询接口适用于组合多个限制条件来搜索一个查询集。 要使用Criteria,需要遵循以下步骤: *创建查询接口: Criteria criteria=session.createCriteria(User.class); *设置查询条件: criteria.add(Restrict 阅读全文
posted @ 2018-08-24 15:09 J.M.Liu 阅读(954) 评论(0) 推荐(0)
温故而知新,再探ConcurrentHashMap
摘要:这里说的还是1.7的ConcurrentHashMap,在1.8中,ConcurrentHashMap已经不是基于segments实现了。 之前也知道ConcurrentHashMap是通过把锁加载各个segment上从而实现分段式锁来达到增加并发效率的,但是时间久了容易忘,这次再看了一下源码,记录 阅读全文
posted @ 2018-04-08 17:45 J.M.Liu 阅读(424) 评论(0) 推荐(0)
数据竞争和先行原则
摘要:先行原则规定了先行的操作对后续的操作可见,有效解决了数据竞争问题。数据竞争问题发生在当变量被多个线程读时,同时至少有一个线程在对这个变量进行写,那么写入的变量不一定能够及时被其他线程看见,甚至永远也不能被其他线程看见。 从这里就可以看出,“先行”其实规定的是“可见性”问题,它和操作(读、写、方法调用 阅读全文
posted @ 2018-03-21 21:05 J.M.Liu 阅读(471) 评论(0) 推荐(0)
记一次坑爹的jconsole使用
摘要:之前一直是用jstat来监控GC的,后来发现原来有个自带的jconsole,是可始化界面的,而且也是oracle公司自带的工具,与是拿来用一下,发现蛮好用的。 然而,在一次复现实验中,发现原来能复现的实验突然复现不了了,内存使用居然以下在就将下去了。于是开启jstat gcutil <pid> 2s 阅读全文
posted @ 2018-03-07 16:17 J.M.Liu 阅读(399) 评论(0) 推荐(0)
触发Full GC的时机
摘要:由于Full GC的耗时是Minor GC的十倍左右,所以Full GC的频率设计得比Minor GC低得多。现总结一下触发Full GC的情况。 在那些实现了CMS的比较新的虚拟机中,如果配置了-XX:+UseConcMarkSwapGC,则启用CMS回收算法,CMS会周期性地检查老年代的情况,每 阅读全文
posted @ 2018-02-28 10:56 J.M.Liu 阅读(4625) 评论(0) 推荐(0)
java NIO之Selector
摘要:Selector是java NIO的核心,通过Selector实现非阻塞式IO。一个Selector可以对应多个不同类型的Channel,并且以SelectedKey进行标记管理。换句话说,Selector只管理SelectedKey而直接管理Channel。 Selector对象中有三个集合,分别 阅读全文
posted @ 2018-02-17 12:04 J.M.Liu 阅读(432) 评论(0) 推荐(0)

1 2 3 下一页