- 博客(23)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java面试问题总结
以下是面试总结:其他面试相关链接: 互联网面试问题1 170道面试题1.JAVA基础1)HashMap和HashTable的区别2)HashMap实现原理3)ArrayList和LinkedList有什么区别?4)数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?5)抽象类和接口的区别6)垃圾回收机制7)说说jvm8)jvm性能调优9)
2017-09-05 21:10:27
659
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 JAVA必背面试题和项目面试通关要点
一 数据库 1.常问数据库查询、修改(SQL查询包含筛选查询、聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合;举例2:选择重复项,然后去掉重复项;) 数据库里的密码如何加密(md5);(1)数据库的密码加密:单向加密,insert into users (username,password) values (‘mike’,MD5(‘guessme’));(2
2017-09-01 14:45:27
679
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 关键20小时,快速学会任何技能
《关键20小时,快速学会任何技能》是一本很神奇的书,就算你觉得这个名字哗众取众,你还是会忍不住打开想看看它讲些什么。技能习得与技能学习的区别《关键20小时,快速学会任何技能》首先介绍了技能习得和技能学习这两个概念及它们的区别。简单说:技能习得以解决某个实际问题为目标,根据问题分析出达成目标需要的关键要素,在实践中掌握这些关键要素,达到能够解决问题的程度。技能学习则偏向于系统学习理论,深入了解一项
2016-12-15 17:52:31
4217
原创 笔记1
ArrayList原理: 以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。可以认为就是我们常说的“动态数组”。点击ArrayList原理以及实现LinkedList原理:LinkedList底层的数据结构是基于双向循环链表的,且头结点中不存放数据,
2017-12-08 15:33:42
268
原创 Redis面试题
1. 使用Redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,
2017-09-08 23:44:54
894
原创 值传递和引用传递
**值传递和引用传递:**值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。public class TempTest { private void test1(int a){ a = 5;
2017-09-05 10:38:34
356
原创 事务笔记
一、事务概述 1.什么是事务 一件事情有n个组成单元 要不这n个组成单元同时成功 要不n个单元就同时失败 就是将n个组成单元放到一个事务中 2.mysql的事务 默认的事务:一条sql语句就是一个事务 默认就开启事务并提交事务 手动事务: 1)显示的开启一个事务:start transaction 2)事务提交:commit代表从开启事务到事务提交 中间的所有的sql都认为有效
2017-09-03 23:19:40
419
原创 常用设计模式
一、单例模式单例模式,最常见的就是饥饿模式和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。在多线程模式中,考虑到性能和线程安全问题,我们一般选下面两种比较经典的单例模式,在性能提高的同时,又保证了线程安全。 (1).static inner class方式单例 (2).double check instance 方式单例1.静态内部类 方式单例:public class Sing
2017-09-03 22:30:21
290
原创 会话技术Cookie&Session
一、会话技术简介1.存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态。会话技术是帮助服务器记住客户端状态(区分客户端)2.会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会
2017-09-03 17:45:29
320
原创 Redis实现单点登录
单点登录功能分析 请求的url:/user/login 请求的方法:POST 参数:username、password,表单提交的数据。可以使用方法的形参接收。 返回值:json数据,包含一个token。 业务逻辑: 登录的业务流程:登录的处理流程:1、登录页面提交用户名密码。 2、登录成功后生成token。Token相当于原来的sessionid,字符串,可以使用uuid。 3、把
2017-09-02 18:17:02
33164
18
转载 数据库事务隔离级别
本文系转载,原文地址:http://singo107.iteye.com/blog/1175084数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read uncomm
2017-08-30 13:50:30
250
转载 关于String面试题
Java中String类由于其特殊性(不变类),几乎是笔试面试中的必考题,当然有些题目其实没啥意思,不过关键是要通过题目掌握原理性的东西。下面六道题目,如果您全部做对了,且明白其所以然,那么Java中的关于String的笔试面试题应该难不到你了。也许您觉得polaris说的有点过了,然而彻底明白这些题目,对理解String类还是很有好处的。写出下面各题的打印输出的结果:1 Java代码 复制代码
2017-08-28 14:32:47
353
转载 Volatile原理分析
1、引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,下面我们将深入分析Voliate的实现原理。2、Volatile定义java编程语言允许
2017-08-24 13:24:36
297
转载 Java互联网工程师要具备哪些技能
1.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,jdk的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了 2.多线程并发编程,现在并发
2016-12-15 16:58:14
652
转载 断点调试
在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在开始前给大家提3点建议!不要使用System.out.println作为调试工具把所有涉及到的组件日志级别激活并使用使用日志分析器来读取日志1.条件断点如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建。在调试界面中,“
2016-12-02 14:34:04
567
转载 JDBC批处理
在对数据库进行批量操作时,应分析操作的前后相关性,如果属于大批量的操作,而且前续操作的结果不依赖与后继操作,则完全可以使用批处理来操作DB。使用批处理的优点:1. 多个SQL语句的执行,共用一个Connection资源。在对数据库操作时,connection资源是很宝贵的,数据库的维护从某种角度来说,就是减少数据库的连接数,减轻对DB的压力。创建一个数据连接要远远比使用数据库连接消耗资源。这也正是
2016-12-02 11:13:11
406
转载 Statement和PreparedStatement批量更新
优势:1.节省传递时间。 2.并发处理。PreparedStatement:1) addBatch()将一组参数添加到PreparedStatement对象内部。2) executeBatch()将一批参数提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。Statement:1) addBatch(String sql)方法会在批处理缓存中加入一条sql语句。2) executeB
2016-11-30 10:32:54
2709
原创 SpringMVC标签之ModelAttribute
首先要了解@ModelAttribute标签使用的场景:比如我们在对表单数据进行修改操作的时候,有一些值是不容许被修改的(比如录入时间),从前台表单只对对象中部分属性值进行赋值,这样进行的update操作会把没有被赋值的属性就赋值为null,这样的操作是错误的。为了解决这一问题,我们先将对象从数据库中查出,然后再进行从前端页面赋值,这样没有被赋值的属性依然是数据库原来的值,这样进行update操
2016-11-13 22:12:37
790
原创 下载功能
程序实现下载需设置两个响应头:设置Content-Type 的值为:application/x-msdownload。Web服务器需要告诉浏览器其所输出的内容的类型不是普通的文本文件或 HTML 文件,而是一个要保存到本地的下载文件。Web 服务器希望浏览器不直接处理相应的实体内容,而是由用户选择将相应的实体内容保存到一个文件中,这需要设置 Content-Disposition 报头。该报头指
2016-11-09 22:52:42
444
原创 上传组件FileUpload组件
Apache提供的文件上传组件:FileUpload组件 文件上传功能开发中比较常用,apache也提供了文件上传组件!FileUpload组件: 1. 下载源码 2. 项目中引入jar文件 commons-fileupload-1.2.1.jar 【文件上传组件核心jar包】 commons-io-1.4.jar 【封装了对文件处理的相关
2016-11-08 23:41:36
380
原创 SpringMVC上传文件三种方式对比
springmvc三种上传方式对比: 前端页面:<form action="${pageContext.request.contextPath}/Upload/fileUpload1.action" method="post" enctype="multipart/form-data">文件:<input type="file" name="file"><input type="submit
2016-11-08 14:29:32
412
原创 SpringMVC上传入门
一、配置文件: SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的fileid="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> property
2016-11-08 13:39:22
359
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键`快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-11-08 13:36:06
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人