摘要:
看《java并发编程的艺术》这本书,想着看的时候做个简单的总结,方便以后直接看重点。 一.并发编程的挑战 1.上下文切换 Cpu时间片通过给每个线程分配CPU时间片来实现多线程机制,时间片一般是几十毫秒。任务从保存到再加载的过程就是一次上下文切换。 如何减少上下文切换? 无锁并发编程:多线程处理数据 阅读全文
摘要:
数组与集合都是用来存储对象的容器,前者性质单一,方便易用,后者类型安全,功能强大,且两者之间必然有互相转换的方式。毕竟它们的性格迥异,在转换过程中,如果不注意转换背后的实现方式,很容易产生意料之外的问题。数组转集合和集合转数姐。在数组转集合的过程中,注意是否使用了视图方式直接返回数组中的数据。我们以 阅读全文
摘要:
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降 阅读全文
摘要:
面试 问:数据库中最常见的慢查询优化方式是什么? 同学A:加索引。 问:为什么加索引能优化慢查询?同学A:...不知道同学B:因为索引其实就是一种优化查询的数据结构,比如Mysql中的索引是用B+树实现的,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,所以能优化查询。 问:你 阅读全文
摘要:
1、 @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML 数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通 阅读全文
摘要:
以下所有问题的回答是本人总结的回答要点,并没有全部详细写出。 1.java语言有哪些优点? 面向对象 跨平台(一次编译,到处运行) 提供很多内置类库 去除了C++中难以理解的特性(指针,虚函数) 2.java与C/C++的异同 java是解释型语言,C++是编译型语言 java是纯面向对象,C++是 阅读全文
摘要:
war和war exploded的区别(转载) 在使用idea开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded这里首先看一下他们两个的区别: war模式:将web工程以war包的形式上传到服务器 war exploed模式:将web工程以当前文件 阅读全文
摘要:
1.概念模型 项目对象模型:一个maven工程有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。 依赖管理系统:通过maven的依赖管理对项目所依赖的jar包进行统一管理。 一个项目生命周期:项目构建的过程为一个项目的生命周期。 一组标准集合:为整个项目 阅读全文
摘要:
在cmd的状态下测试 1.compile 作用:将src/main/java 下的java文件编程成class文件输出到target目录 打开项目所在的位置,打开cmd窗口,输入mvn compile 查看项目target目录,生成了class文件,编译完成: 2.test cmd执行mvn tes 阅读全文
摘要:
maven工程目录规范: src/main/java 存放项目的.java文件 src/main/resources 存放项目的资源文件,如spring、hibernate配置文件 src/test/java 存放所有单元测试.java文件 src/test/resources 测试资源文件 tar 阅读全文