Unicode

介绍

既然 Unicode 已经包含了所有字符,为什么还要用 UTF-8进行转编呢,直接用 Unicode 码不就好了吗?原因就是如果用 Unicode 会浪费过多的空间,比如 ASCII 码用256位就能全部覆盖了,但是如果用 Unicode 呢,会多出好多空间来。不便于存储以及传输。

所以,Unicode 只制定标准,不做具体实现,具体的实现方式就要依靠 UTF-8、GB18030 这些了。

拿 UTF-8 来说,它是一种可变长字符编码,用ASCII码能表示的就直接用ASCII码,不行的再想办法,主打一个能省则省。

可以用文本编辑器测试一下,写一个英文字母,用 UTF-8 编码保存,大小是1个字节。而如果写一个汉字呢,就是3个字节。

同样的,UTF-16、UTF-32都有自己的一套编码方式,宗旨就是为了减小体积,提高效率

查看更多

字节码

  1. javaagent

1)简述
从java5开始,jdk中新增了一个java.lang.instrument.Instrumentation 类,它提供在运行时重新加载某个类的的class文件的api。
通过addTransformer可以加入一个转换器,转换器可以实现对类加载的事件进行拦截并返回转换后新的字节码,通过redefineClasses或retransformClasses都可以触发类的重新加载事件。

2)加载方式
在jvm启动时指定agent,Instrumentation对象会通过agent的premain方法传递。
在jvm启动后通过jvm提供的机制加载agent,Instrumentation对象会通过agent的agentmain方法传递。

查看更多

买买买

一,生活类

1.1,服饰

卫衣尺码
尺码 衣长 肩宽 胸围 袖长
170/92A/M 68 46 56 61

1.2,白酒购买指南

香型 品牌 酒名 入手价格 日常价格
米香型 三花酒 三花酒 10年洞藏 195.3 243.2

查看更多

redis java实现

jedis VS lettuce

  • jedis客户端连接方式是基于tcp的阻塞式连接方式。
  • lettuce客户端连接方式是基于netty的多路复用异步非阻塞的连接方案。

Lettuce 连接设计的时候,就是线程安全的,所以一个连接可以被多个线程共享,同时 lettuce 连接默认是自动重连的,使用单连接基本可以满足业务需求,大多数情况下不需要配置连接池,多连接并不会给操作带来性能上的提升。

查看更多

天生一个仙人洞,无限风光在险峰

轻车见白露,只羡林荫处

白天屌丝的女神,晚上富人的精盆

你喜欢的乡间小道已成为收费的高速公路。————爱因斯坦

往里走,里面还很空。————公交车司机

查看更多

中国历史

夏朝(约公元前2070年-约公元前1600年)
商朝(约公元前1600年—约公元前1046年)
周朝(前1046年—前256年)
西周(前1046-前771年) 周文王姬昌 周幽王姬宫湦
东周(前770年-前256年) 平王东迁(周平王宜臼)

春秋,指公元前770年到公元前476年

韩、赵、魏三家灭掉智氏,瓜分晋国为标志。

战国,指公元前475年到公元前221年

中国历史纪年简表
夏……………………………约公元前2070—约公元前1600年

查看更多

chatGPT问答

如何提高表达能力

以下是一些可能有助于提高表达能力的建议:

  • 多练习:提高表达能力需要不断地练习,可以通过模拟演讲、写作、参与讨论等方式,加强表达能力的训练。
  • 学习语言和词汇:扩大词汇量和语言能力可以提高表达能力的清晰度和准确度,可以通过阅读、听力、写作等方式,学习新的单词和语言表达方式。
  • 关注非语言表达:除了语言表达,身体语言、面部表情、声音语调等非语言表达也是有效的表达方式,可以通过锻炼姿态、练习肢体语言、掌握声音节奏等方式提高非语言表达的效果。
查看更多