- 浏览: 23225 次
- 性别:
- 来自: 烟台
最新评论
文章列表
单一职责(Single Responsibility):类和对象最好是只有单一的职责,在程序设计中如果发现某些类存在多个职责,可以考虑进行拆分;
开闭原则(Open-close, open for extension, close for modification):设计要对扩展开放,对修改关闭,换句话 ...
Java中GC的基本算法(引自他人)
- 博客分类:
- 基础知识
一、JVM的内存组成结构
JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下: 1、堆
所有通过new创建的对象的内存都在堆中分配,其大小可通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor由FromSpace和ToSpace组成,结构如下图:新生代:新建的对象都是用新生代分配内存,Eden空间不足时,会把存活的对象转移到Survivor中,新生代大小可以由-Xmn来控制,也可以用-XX:SurvivorRadio来控制Eden和Survivor的比例。
旧生代:用于存放新生代经过多次垃圾回收(也即Minor GC)仍 ...
通过近期的面试发现很多企业选择使用spring boot来开发系统,之前未了解过这块,现在开始学习下spring boot的使用。网上搜索资料了解到,spring boot可以轻松地创建独立运行的程序,非常容易地构建独立的服务组件,是实现分布 ...
关于操作系统方面的几个问题
- 博客分类:
- 基础知识
操作系统的几个问题
1、进程和线程的区别?解析:
(1)进程是资源分配和调度的一个独立单元,而线程是CPU调度的基本单元;(2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文) ...
在搭建的时候,运行Tomcat就如下错误。错误描述:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBa ...
错误描述:java.lang.IllegalStateException: ApplicationEventMulticaster not initializedjava.lang.IllegalStateException: LifecycleProcessor not initialized解决办法:1、首先确认工程中spring的jar包是否引好了;2、clean工程和tomcat(百度上不少说clean一下tomcat的,但是只是clean的话基本是没用的);3、检查tomcat的JDK版本和工程的JDK版本是否一致(我的就是这个原因,项目是1.7的,tomcat用的1.8的),修改to ...
性能对比
求余运算:a % b就相当与a - (a / b) * b 的运算按位与运算:是CPU的一条指令在什么特殊场景下,能用与运算&替代求余运算%来提高效率呢?在对10进行求余运算的时候,我们发现,余数总是整数中的个位上的数字,而不用管其他位是什么;在按位与运算中,我们经常需要使用位操作符&来取某些位上的值,例如使用0xff&0x17ae来获取低8位的值0xae,如果求余结果值的范围刚好跟是[0,求余的底数(a%b中的b)]集合(集合元素只有0与b)一样,那么低位就是求余的结果。例子:23%16 == 7等价于0x17 & 0x0F == 0x07,因此, ...
一、单一职责原则单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就 ...
存储器分为两大类:RAM和ROM。ROM发展过程介绍ROM最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了PROM,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改ROM中的内容了。EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Era ...
代码优化畅谈:
代码优化,是程序员到了一定境界后,要研究的一个很重要的方向。可能有些人觉得没用,他们认为在一些细小的地方有什么好修改的,改与不改对于代码的运行效率会有什么太大的影响?咱不好对人家的观点 ...
Java反射机制概念:Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java ...
冒泡排序:
冒泡排序介绍:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到 ...
什么是JSON:
JSON:JavaScript对象表示法(JavaScript Object Notation)。JSON是存储和交换文本信息的语法。类似 XML。JSON比XML更小、更快,更易解析。
JSON是轻量级的文本数据交换格式;JSON独立于语言,JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言;JSON具有自我描述性,更易理解。JSON文本格式在语法上与创建JavaScript对象的代码相同。由于这种相似性,无需解析器,JavaScript程序能够使用内建的eval()函数,用JSON数 ...
Servlet生命周期:
Servlet类加载->创建Servlet类实例->Servlet初始化(真正成为一个Servlet)->有请求到来,调用service方法(主要工作)->最后直到Servlet被destroy。
一、Servlet类加载:1、启动Servlet容器(web容器)后,Servlet容器(web容器)首先会去寻找web应用的部署描述文件(web.xml),从部署描述文件(web.xml)中读取到上下文初始化参数,此时创建一个ServletContext对象,web应用的所有部分共享此上下文;2、Servlet容器(web容器)为contex ...
为了让程序具有更好的友好型,这是一个应该实现的细节。配置起来很简单,在项目的web.xml文件中配置如下信息:
<error-page>
<error-code>404</error-code>
<!--指定404.jsp页面文件在WebContent根目录下-->
<locati ...