操作系统
frcoder
FRLH
展开
-
java中一个对象 在内存中、数据库中、序列化后 占用的空间是一样的么
答:不一样。protobuf序列化=数据库<≈内存<json序列化解释:protobuf序列化、数据库:都是使用了最紧凑的形式用二进制来存储对象。内存:也是使用了最紧凑的形式用二进制来存储对象,但是多了对象头的结构。json序列化:将对象转成了文本(字符串);并且为了表意清楚,每个属性都带上了属性名。所以,现在有个趋势,注重传输效率的场景,正在用protobuf序列化代替json序列化...原创 2020-08-26 10:04:17 · 979 阅读 · 0 评论 -
java字符串在内存和文件中编码的不同——如何理解进制(二进制)与编码(UTF-8)的关系
不管是在内存中,还是文件中,还是网络传输中,计算机运算和存储的都只能是二进制。内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String,或者外部的文件、命令行参数之类的。Java语言规范规定,Java的char类型是UTF-16的code unit,也就是一定..原创 2020-08-26 09:43:39 · 1679 阅读 · 0 评论 -
select中文件描述符上限与1024的关系
一、两个1024select中存放文件描述符的数组大小FD_SETSIZE为1024进程的文件描述符上限默认是1024,正是因为这个原因,select设计时才把数组大小设计为1024二、问题来了进程的文件描述符上限是可以手动修改的# 查看进程的文件描述符上限ulimit -n# 修改进程的文件描述符上限为2048,临时修改,只对当前shell有效ulimit -SHn 2048# 永久修改:编辑/etc/security/limits.confvi /etc/security/l原创 2020-05-28 00:41:11 · 3458 阅读 · 1 评论 -
代码与程序的区别与联系
代码与程序的区别与联系,你真的懂么?请试着解释下面2段代码。//第一段程序:fork与多进程//第二段程序:sleep(wait)与多线程能看得懂这2段代码,才算是入门了吧~ (有的时候口头上能说出来和真正的理解可不一样 ←_←)总结:代码只有一份,新建一个进程或线程不过是新建了一个“上下文”或“程序指针”(程序计数器PC),重新指向原来那段代码。原创 2017-08-08 11:02:01 · 6800 阅读 · 0 评论