关于内存管理其实是项目开发当中一件非常重要的事情,因为平时在写Java,对内存的分配是不敏感的,但一旦导致问题,没有做过相关的总结问题的排查也是非常困难,C++的话,如果不引起关注,会产生相当多的OOM问题,所以在这里我们介绍与探讨一下Java与C++语言关于内存管理机制和它们的异同。 Java内存管理机制什么是...
缓存与数据库一致性学习笔记前言一般而言,现在互联网应用的整体流程,从用户界面(浏览器或者APP界面)到网络转发,应用服务再到存储(数据库或者是文件系统),最后返回到界面呈现内容。 但是随着互联网的逐渐普及,业务量逐渐增大以及复杂,,带来的用户和访问量越来越巨大,我们应用同时需要支撑的并发量也就越来越高,用户的一次...
锁引入在项目的开发当中,常常会出现一个方法或者变量多个线程去调用访问的场景,在这里,不管是读取、写入还是其他操作,如何能保证数据的准确性与系统业务的运行效率,Java便提供了种类丰富的锁以应对不同的使用场景,展现出了非常高的效率,总结一下JDK8下面的主流锁。 首先我们先构造一个类似高并发的场景,让大家有个初步的...
Java 动态代理以及自定义注解关于Java中的动态代理,是一种常用的设计模式,即代理模式,根据创建代理的方式,又可以分为静态代理和动态代理 代理模式代理模式是常用的java设计模式,他的特征是代理类和委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等,代理类与...
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保...
例如tomcat下的启动配置:JAVA_OPTS=”-Xms640m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/log ...
JDK源码java.langobject:time:2020/10/7 1234Class {@code Object} is the root of the class hierarchy.Every class has {@code Object} as a super...
南京之行Day12020年10月3日,出发去南京见霹雳唐,早上六点起床,杭州早上阳光明媚,到杭东,约两个小时的车程,于11点到达南京,天空下起了连绵细雨 一个小时的地铁与公交车,终于来到了南京邮电大学仙林校区与唐诗迪见面,简单休整后,第一天前往南京市中心新街口溜达 天公不作美,一直到下午还是连绵小雨 从仙林中心地...
密码加盐与加密首先,密码进行加盐加密的最终目的是: 即使在数据库拖库,代码被泄露,请求被劫持的情况下,怎么去保障用户的密码不被泄露 密码加密方式首先是密码散列函数,密码散列函数是一种单向散列函数,将任意长度的消息压缩到某一固定长度的消息摘要,一个理想的密码散列函数应该有四个主要的特征,对于任何一个给定的消息,它都...
继承,多态与装饰者模式在Java开发中,继承、多态、封装与抽象作为面向对象的四个基本特征,而装饰者模式则是属于开发的设计模式之一,在实际的代码实现当中,可以发现其实它们有很多相似的地方,将它们灵活运用在软件的开发当中,能够使项目开发效率更高且更易于维护,所以单在这里写一篇总结来探讨一下它们各自的优势与区别。 继承...