Wesley13 Wesley13
3年前
java线程笔记
线程个人理解:线程是一种运行单元,是进程内的拆分(就像一个房子,里面可以有电视在播放、人在吃饭),不同的线程可以同时干不同的事情。其他:进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。协程:协程是比线程的更小的一种程序的拆分,和
Wesley13 Wesley13
3年前
Unity优化之
当我们来创建一个对象、字符串或数组时,我们需要从称为堆的中央池中为其分配内存来存储它。当它不再被使用时,我们又需要来释放这块内存便于重复使用。在以前这个过程通常需要我们通过适当的函数调用显式地分配和释放块内存来实现。但现在,运行时系统如Unity的mono引擎将自动地为我们管理内存。自动内存管理比显式分配/释放需要更少的编码工作,大大减少了内存泄漏的可能性(
Stella981 Stella981
3年前
Javascript中的正则表达式
正则表达式提供了强大的字符串检索和操作的能力,这些能力在Javascript中有着比其他语言更广泛的应用。对于运行于浏览器环境中的Javascript,HTML文档的DOM操作和样式操作是其主要任务之一,正则表达式的非凡能力正可以应用于此,如:操作DOM节点的内容、解析元素选择器、根据属性值过滤和匹配元素等等。通常总是存在其它方式实现这些操作,但正则表达式可
Stella981 Stella981
3年前
Redis之父表示ARM服务器没戏!
ARM表示NeoverseN1平台和E1CPU即将发布,NeoverseN1和E1采用7nm制程,并且为服务器和通信设备增加重要提升,拥有高可扩展性、高处理量以及高性能,将分别在2020年和2021年投入使用。与CortexA72内核相比,N1分别将Java和memcacheD性能提高了1.7倍和2.5倍。与A72相比,N1内存延迟从110ns
Stella981 Stella981
3年前
JavaScript 位运算笔记
之前一直以为,在js的位运算中,双精度浮点数在内部会先被转成32位整数,再执行位运算,然后再转为64位数值,因此效率极低。今天实验发现,对浮点执行位运算只会导致数值不准确,而不会导致效率低下,相比乘法,左移位要快66%(其实就是浮点运算与整数运算的差距)。以下结果在IE7~IE10上测试得出技巧1:移位运算比乘除法快(当因数是2的幂数)
Wesley13 Wesley13
3年前
JSON 格式详 (转载)
简单地说,JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且JSON可以表示比"名称/值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅
Wesley13 Wesley13
3年前
DDOS防护原理
1.常见DDoS攻击分类DDoS粗略分类为流量型攻击和CC攻击。流量型攻击主要是通过发送报文侵占正常业务带宽,甚至堵塞整个数据中心的出口,导致正常用户访问无法达到业务服务器。CC攻击主要是针对某些业务服务进行频繁访问,重点在于通过精心选择访问的服务,激发大量消耗资源的数据库查询、文件IO等,导致业务服务器CPU、内存或者IO出现瓶颈,无法正常提供服务。比
Stella981 Stella981
3年前
CPU诞生鲜为人知的故事:首款8位CPU并不是Intel的,仅比4004晚了两个月
发明于1947年的晶体管作为电子放大器和开关,是各种电子设备(从袖珍收音机到仓库规模的超级计算机)的核心部件。其早期版本被称为“双极晶体管”,至今仍在使用。到了20世纪60年代,工程师已经找到了将多个双极晶体管组合成单个集成电路的方法。但由于这些晶体管的复杂结构,集成电路只能包含少量的晶体管。所以,因此,建立在双极集成电路基础上的微型计算机虽然比早期计算机小
Wesley13 Wesley13
3年前
Java 基础夺命连环16问(面试硬核敲门砖 )
说说进程和线程的区别?进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率。由于进程是资源分配和调度的基本单位,因为进程的创建、销毁、切换产生大量的时间和空间的开销,进程的数量不能太多,而线程是比进程更小的能独立运行的基本单位,他是进程的一个实体,可以减少程序并发执行时的时间和空间开销,
sum墨 sum墨
1个月前
《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
接口设计是整个系统设计中非常重要的一环,其中包括限流、权限、入参出参、切面等方面。设计一个好的接口可以帮助我们省去很多不必要的麻烦,从而提升整个系统的稳定性和可扩展性。作为接口设计经验分享的第三篇,我想分享一下如何在用户使用过程中留下操作痕迹。在实际开发中,我会采取一些手段来记录用户操作,例如使用日志记录用户行为,或者在数据库中保存用户操作记录。这些痕迹可以帮助我们快速定位和解决问题,同时也可以为后续数据分析和优化提供有价值的参考。