- 博客(6)
- 收藏
- 关注
原创 反射相关
是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,并能直接操作程序的内部属性和方法。使用JDBC连接数据库时,使用Class.forName(驱动类名),通过反射加载数据库的驱动类。1.反射相当于一系列的解释操作,通知JVM要做的事,性能比JAVA代码慢。2.通过反射可以动态操作私有属性或方法,破坏封装,增加了类的安全隐患。Filed类:提供有关类的属性信息,以及动态访问权限。在运行期类型的判断,动态加载类,提高代码灵活度。Method类:提供关于类的方法的信息。
2023-09-11 19:01:53 41
原创 producer和consumer(尽量看吧,看不懂别怪我)
自定义的阻塞队列中, take() 方法用于获取队列中的队首元素,在每次获取时,需要判断该队列 是否为空,如果为空,则需要调用 wait() 方法让当前线程处于等待状态并释放 this 锁。使用 Condition 时,引用的 Condition 对象必须从 Lock 实例的 newCondition() 返回,这样才能获得一个绑定 了 Lock 实例的 Condition 实例。在使用 synchronized 时,可以通过 wait() 和 notify() 实现线程等待和唤醒。
2023-07-17 19:43:19 198 1
原创 ReentrantLock可重入锁
ReentrantLock(boolean) 构造函数:可以传递参数确定采用公平策略或者是非公平策略, 参数为 true表示公平策略,否则,采用非公平策略。由于 synchronized 是可重入锁,所以在获取锁的时候,不但要判断是否是第一次获取,还 要记录这是第几次获取。每获取一次锁,记录 +1 ,每次退出 synchronized 块,记录 -1 ,减 到 0 的时候,才会真正释放锁。如果 1 秒后仍未获取到锁, tryLock () 返回 false ,程序就可以做一些额外处理,而不是无限等待下去。
2023-07-17 19:02:51 75 1
原创 加密算法学习Mr.Xue
使用Base64编码,encodeToString(buf)将字节数组(二进制)转为String类型,然后传入到base64EncodeRet中。ASCII编码最多只能有127个字符,想要对更多的文字进行编码。编码(将任意文本编码成%前缀的文本)时用:URLEncoder.encode。2.对Base64编码的字符串进行解码,解码后的原始字节内容,保存成图片。目的:因为相同的输入一定的到相同的输出。Hmac算法:基于密钥信息认证的算法,可看作为带有key的MD5算法。也是一种哈希算法,加盐操作。
2023-07-10 19:35:01 66 1
原创 薛老师的心得(网络编程)
使用Socket编程,首先编写服务器端程序,用ServerSocket来监听指定IP和端口。客户端:连接指定服务器端口8889,连接成功返回socket。
2023-07-10 17:11:47 56 1
原创 TreeMap集合
HashMap 是一种以空间换时问的映射表,它的实现原理決定了内部的 Key 是无序的,即遍历 HashMap的 Key 时,其顺序是不可预测的(但每个Key都会遍历一次且仅遍历一次)。还有一种 Map,它在内部会对 Key 进行排序,这种 Map 就是 SortedMap。SortedMap 是接口,它的实现类是 TreeMap。例如,放入的Key 是"apple""pear ""作为 Value 的对象则没有任何要求。orange",遍历的顺序一定是"apple "、" orange。
2023-05-31 12:24:08 64 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人