05 2018 档案
摘要:今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础。现在趁回忆得起来,将数据库知识简单整理如下: 一、建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ssex,年龄Sage,所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。
阅读全文
摘要:1、Sql 约束 http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html 2、修改列类型 1 2 3、联合索引最左前缀原则 例如在表(name,age,birth)中建立联合索引name_age_birth,在查询中,where中的条件
阅读全文
摘要:一、 选择题 1、SQL语言是( C )语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 redis 是 3、如果在where子句中有两个条件要同时满足,应该用哪个逻辑符来连接(C ) A.OR B.NOT C.AND D.NONE 4、外连接的条件可以放在以下的那一个子句中(
阅读全文
摘要:数据库总结--MySQL常见面试题 2015年03月24日 17:56:06 阅读数:7787 2015年03月24日 17:56:06 阅读数:7787 阅读数:7787 1.根据部门号从高到低,工资从低到高列出员工的信息 select * from employee order by dept_
阅读全文
摘要:总结的一些MySQL数据库面试题 2016年06月16日 11:41:18 阅读数:4950 2016年06月16日 11:41:18 阅读数:4950 阅读数:4950 一、sql语句应该考虑哪些安全性? (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量。 (2)最
阅读全文
摘要:(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (2)Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存
阅读全文
摘要:mysql去重面试总结 前言:题目大概是这样的。 建表: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE TABLE `test2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `peopleId` int(11)
阅读全文
摘要:存储过程和函数的区别 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。 . l 视图的优点?建立视图的基本语法结构? 视图的优点: 1. 视图对于数据库的重构造提供了一定程
阅读全文
摘要:mysql数据库面试总结 2017年09月04日 00:11:40 阅读数:151 2017年09月04日 00:11:40 阅读数:151 阅读数:151 结合网上大神还有自己面试经历,收集的总结Mysql面试题,方便自己准备面试; mysql一个永远都复习不完,尽量总结,差不多就可以去面试(个人
阅读全文
摘要:Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 2017年04月27日 22:41:44 阅读数:9271 阅读数:9271 1、SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert、delete、update DDL(数据
阅读全文
摘要:2018/5/31 oracle数据库面试笔试试题总结http://www.yjbys.com/qiuzhizhinan/show-308759.html 1/4Oracle数据库1.基础测试选择在部门 30 中员工的所有信息Select * from emp where deptno=30;列出职
阅读全文
摘要:什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL、T-SQL)。 存储过程的优点: 能够将代码封装起来 保存在数据库之中 让编程语言进行调用 存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL
阅读全文
摘要:摘要:今天参加了大展公司的一个电话面试,那位先生首先问我查询一个表的问题,条件是:1、一个数据表,有username字段。2、查询数据表中姓名姓张的、姓李的、姓刘的总数,并展现在一张表中。我当时就糊涂了,平时SQL都是有提示的,都是在PLSQL下写的,而且大多时候都是采用Hibernate框架 ,s
阅读全文
摘要:数据库优化 建表优化 1)数据库范式 l 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 如电话列可进行拆分 家庭电话、公司电话 l 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
阅读全文
摘要:数据库常见面试题总结 1. 数据库三范式是什么? 第一范式:表中每个字段都不能再分。 第二范式:满足第一范式并且表中的非主键字段都依赖于主键字段。完全依赖 不能是部分依赖 第三范式:满足第二范式并且表中的非主键字段必须不传递依赖于主键字段。 直接依赖不能间接依赖 2. 什么是数据库事务? 事务具有四
阅读全文
摘要:解决 @scope(多例) 这是因为造成线程并发访问不安全
阅读全文
摘要:原因:jar包冲突
阅读全文
摘要:[Java面试五]Spring总结以及在面试中的一些问题. 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserS
阅读全文
摘要:JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 2015年03月25日 16:53:40 阅读数:4306 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些? Hibernate的核心
阅读全文
摘要:互联网公司校招Java面试题总结及答案——阿里、腾讯 2017年01月12日 12:56:51 阅读数:13141 2017年01月12日 12:56:51 阅读数:13141 阅读数:13141 部分重复的我已经去掉了,所以显得比较少,其他请参看我的系列文章: 互联网公司校招Java面试题总结及答
阅读全文
摘要:面试总结——Java高级工程师(三) 置顶2016年11月08日 23:59:36 阅读数:86502 置顶2016年11月08日 23:59:36 阅读数:86502 阅读数:86502 面试前面也总结了一和二, 这第三篇可能更偏向于是内心的独白篇和面试技巧总结吧..... 一 三、面试题基础总结
阅读全文
摘要:面试总结——Java高级工程师(二) 置顶2016年10月25日 23:52:50 阅读数:34722 置顶2016年10月25日 23:52:50 阅读数:34722 阅读数:34722 时运不济,才到16年10月份,公司资金紧张,不得已又出去面试,面试了大概四家公司,只有一家offer ,被打击
阅读全文
摘要:面试题总结——JAVA高级工程师 近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们 一、无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二、三大框架
阅读全文
摘要:面试题1、String和StringBuffer的区别2、gc的概念,如果A和B对象循环引用,是否可以被GC?3、Java中的内存溢出是如何造成的 Java堆溢出 1.1 模拟场景 Java堆用于存储对象,只要不断的创建对象,并保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,
阅读全文
摘要:第站:(深圳) 1. 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁? 1.当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞2.当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式
阅读全文
摘要:第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的
阅读全文
摘要:以下面试题是针对最近热门Java面试题汇总,仅供参考! 一、自我介绍,以及介绍最近一个项目 简单介绍一下自己,姓名,籍贯,毕业以来工作多少年,在哪些公司工作过。一语带过即可。然后介绍一下最近做的一个项目,包含整体架构设计,涉及前后端框架,缓存,中间件以及数据库等。 二、String特性。String
阅读全文
摘要:Java基础 int、byte、char各占几个位? 注意这里说的不是字节,问的是bit位。 我当时就说int 4个字节,byte 1个字节,char 2个字节。 每个字节又是8位,各再乘以8就好了。结果那面试官居然还说1个字节是4位,当时我都懵了。回来查查资料发现,我才是对的。1个字节就是8位。。
阅读全文
摘要:集合篇 在迭代一个集合的时候,如何避免ConcurrentModificationException? 在遍历一个集合的时候,我们可以使用并发集合类来避免ConcurrentModificationException,比如使用CopyOnWriteArrayList,而不是ArrayList。 It
阅读全文
摘要:解决方法: 关闭正在运行的myeclipse,然后打开myeclipse安装路径(我的安装在c盘): c:\ProgramFiles\MyEclipse\MyEclipse Professional 2014\configuration 将org.eclipse.update文件夹删除,重新启动my
阅读全文
摘要:https://i.cnblogs.com/EditPosts.aspx?postid=8985328&update=1 高并发处理 https://i.cnblogs.com/EditPosts.aspx?postid=8992288&update=1 手写单例模式 https://i.cnblo
阅读全文
摘要:1. 【简答题】:简述一下hibernate和spring框架的整合步骤: 答: 1.加入hibernate jar包 2.编写持久化类 3.添加Hibernate的配置文件:hibernate.cfg.xml 4.编写持久化类对应的.hbm.xml文件 5.加入spring jar包 6.加入Sp
阅读全文
摘要:原因: @serice("customerService") 和@Repository(value="customerDao") 解决: 直接@serice 和 @Repository严重: Exception sending context initialized event to listene
阅读全文
摘要:OgnlValueStack贯穿整个 Action 的生命周期。 它是ContextMap中的一部分,里面的结构是一个List,是我们可以快速访问数据一个容器。它的封装是由struts2框架完成的。 通常情况下我们是从页面上获取数据。 在 OnglValueStack 中包含了一个CompoundR
阅读全文
摘要:首先是,启动tomcat服务器,这时候会加载web.xml,当读到filter标签时,会创建过滤器对象。struts2的核心过滤器(StrutsPrepareAndExecuteFilter)会负责加载类路径下的struts.xml配置文件。接下来,从客户端发送请求过来 先经过前端控制器(核心过滤器
阅读全文
摘要:java.lang.NullPointerException at com.itheima.test.Test2.fun1(Test2.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.ref
阅读全文
摘要:1.2 相关知识点:Proxy l Proxy.newProxyInstance 三个参数 n 参数1:loader ,类加载器,动态代理类运行时创建,任何类都需要类加载器将其加载到内存。 u 一般情况:当前类.class.getClassLoader(); n 参数2:Class[] interf
阅读全文
摘要:1.1.1 动态代理回顾 1.1.1.1 动态代理的特点 字节码随用随创建,随用随加载。 它与静态代理的区别也在于此。因为静态代理是字节码一上来就创建好,并完成加载。 装饰者模式就是静态代理的一种体现。 1.1.1.2 动态代理常用的有两种方式 基于接口的动态代理 提供者:JDK官方的Proxy类。
阅读全文
摘要:一、 面试题部分 1. 什么是IOC?什么是DI?他们有什么区别? 答案: IOC,即控制反转。是指将原来程序中自己创建实现类对象的控制权反转到IOC容器中。 IOC的别名:依赖注入(DI),DI 是IOC的实现方式:注入。 依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是
阅读全文
摘要:1.1.1 spring的优势 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 AOP编程的支持 通过Spring的AOP
阅读全文
摘要:谢邀,这是个好问题,而且这个问题好在即使概念非常容易理解,但是这几个不同的概念细节太多太多,而且理解了概念,自己要用,又需要做很多的调研评估和开发工作。作为在这个领域爬坑多年的人,我这里就先介绍下概念,再提供几个开源工具和云服务吧。先来说这些架构解决的问题吧,传统数据库如Mysql(以下工具也会以M
阅读全文
摘要:一、Java基础 一、Java基础 http://blog.csdn.net/evan_leung/article/details/50824241 1. String类为什么是final的。 最佳答案:主要是为了“效率”和“安全性”的缘故。如String允许被继承,由于它的高度被实用性,可能会降低
阅读全文
摘要:、Java创建线程之后,直接调用start()方法和run()的区别 答:start()用来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。 若直
阅读全文
摘要:第一个递归目录,或者递归解析XML 在实际项目中,我们往往需要动态生成树形结构的菜单来实现数据的管理,如图1所示;或者是需要动态生成树形的图表结构,如图2所示。这些树形结构往往没有层级限制。 图1 树形菜单结构 图2 树形图表结构 在此,以图2为例提出问题及解决方案。 数据库设计: 列名 类型 是否
阅读全文
摘要:1.1 一对多XML关系映射 1.1.1 客户配置文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "h
阅读全文
摘要:拦截器和过滤器的区别 过滤器是servlet规范中的一部分,任何java web工程都可以使用。 拦截器是struts2框架自己的,只有使用了struts2框架的工程才能用。 过滤器在url-pattern中配置了/*之后,可以对所有要访问的资源拦截。 拦截器它是只有进入struts2核心内部之后,
阅读全文
摘要:## Hibernate第二天 ## ### 回顾与反馈 ### Hibernate第一天 1)一种思想 : ORM OM(数据库表与实体类之间的映射) RM 2)一个项目 : CRM 客户关系管理系统 客户公司表 3)一个框架 : Hibernate 简化JDBC 面向对象的数据库操作 注意问题
阅读全文
摘要:一、 核心部分 1. 【核心试题】完成当天课堂练习 2. 【多选题】 阅读如下代码中,下列哪种方式可以在页面正确迭代获取集合中的数据 (ABC) public String add(){ ValueStack vs = ActionContext.getContext().getValueStack
阅读全文
摘要:死锁产生的四个必要条件 互斥条件:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释放。 不可剥夺条件:进程所获得的资源在未使用完毕之前,不被其他进程强行剥夺,而只能由获得该资源的进程资源释
阅读全文
摘要:代理Proxy: Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 2 为了保持行为的一致性
阅读全文
摘要:1. Struts2与Struts1的联系与区别是什么?为什么要用Struts2? 答案: struts1与struts2都是mvc框架的经典实现模式。 Struts2不是从Struts1升级而来,而是有WebWork改名而来,Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求
阅读全文
摘要:单例模式: 线程池 就是单例模式的实现. 策略模式: QQ会员充值 根据不同等级的客户 打折不同8折,9折 代理模式:AOP底层动态代理实现 模板模式:redistemplate,jdbctemplte 适配器模式:字节流向字符流的转换 inputstream 适配reader 成inputstre
阅读全文
摘要:它是hibernate用于区分两个对象是否是同一个对象的标识。 我们都知道,虚拟机内存区分两个对象看的是内存的地址是否一致。数据库区分两个对象,靠的是表的主键。hibernate负责把内存中的对象持久化到数据库表中,靠的就是对象标识符来区分两个对象是否是同一个。实体类中映射主键的字段就是OID 在映
阅读全文
摘要:1.1. 阐述你对inverse的理解 答: 1、inverse的默认值是false,代表不放弃外键维护权,配置值为true,代表放弃了外键的维护权。 2、双方维护外键会多产生update语句,造成浪费资源,一般一对多的情况中一方放弃维护权,多对多情况任意一方放弃 3、Inverse 决定数据库中外
阅读全文
摘要:@Test报堆栈溢出, 在main中报错toString
阅读全文
摘要:17:51:45,580 ERROR SqlExceptionHelper:129 - Column 'lkm_cust_id' cannot be nullorg.hibernate.exception.ConstraintViolationException: could not execute
阅读全文
摘要:一、背景: 线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下
阅读全文
摘要:1,自我介绍下,我直接说的项目经历,(哪年在哪个公司呆过) 2,问是否有带过团队的经历,我说去年带过一次。 3,Struts是单例模式还是多例模式?我先说单例模式,后说多例模式。 Struts1是单例的 struts2是多例的 4,JSP与STRUTS的区别是什么,我说了一大堆,面试官让我不要宏观的
阅读全文
摘要:一轮面试下来,由最初的自信什么都能做,到现在感觉什么都不会做;但是面对面试官,却更坦然。 对自己还能记得起来的面试题,稍微整理一下。欢迎指正。 private、默认、protected、public作用范围 1)private,同类2)默认,同类、同包3)protected,同类,同包,子类4)pu
阅读全文
摘要:1.请描述下你做的项目: XXX系统是什么什么,主要目的是XXX,整个系统包含了哪些功能模块,然后说包含了哪些模块,自己做了哪些模块。 2.结合项目谈谈你对MVC的理解 MVC是model-view-controler的简称。也就是模型-视图-控制器。mvc是一种设计模式,他强制性的把应用程序的输入
阅读全文
摘要:我看了下感觉这公司貌似挺不错的,面试官人也挺好的,氛围应该很不错,可惜我实力不足,唉,接续努力,下面把面试中印象较深的三个问题写一下。 面试问题1:数据库删除重复数据,多条重复的数据中只保留一条 表名 t 如果a字段的数据每行都不同的话SQL如下:( 保留a字段数据最小的那条,如果要保留大的就讲mi
阅读全文
摘要:此内容偏中高级,适合有三年经验者。 1. java中wait和sleep有什么区别?多线程条件下如何保证数据安全? 答:最大区别是等待时wait会释放锁(乐观锁),而sleep会一直持有锁(悲观锁),wait通常用于线程时交,互,sleep通常被用于暂停执行。 2. java中volatile和sy
阅读全文
摘要:一、Java基础 1. String类为什么是final的。 答:主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以String被定义成final。 2. HashMap的源码,实现原理,底层结构。 答:Java集合 Hash
阅读全文
摘要:本人是做java开发的,这是我参加58,搜狐,搜狗,新浪微博,百度,腾讯文学,网易以及其他一些小的创业型公司的面试常被问的问题,当然有重复,弄清楚这些,相信面试会轻松许多。 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁 ht
阅读全文
摘要:JVM有哪些分区? 程序计数器,java虚拟机栈,本地方法栈,堆,方法区(java栈中存放的是一个一个的栈帧,每一个栈帧对应一个被调用的方法。栈顶包括局部变量表,操作数栈,方法的返回地址,指向当前方法所属的类运行时常量池的引用,附加信息)。JVM中只有一个堆。方法区中最重要的是运行时常量池。 mys
阅读全文
摘要:Java开发岗位面试题归类汇总,在微博看到的一篇文章,只有问题,没有答案,我具体写了一下每个问题大致的参考答案,仅供参考 一、Java基础 2、 IO / NIO; 1、面向流与面向缓冲 Java IO和NIO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO面向流意味着
阅读全文
摘要:阿玻罗软件(上海)有限公司已经两年了.中国银行营销系统,到民生银行小微信贷工厂建设.再到交通银行ioffice移动平台项目.以前所学的SSH好多都用不上 公司的框架.都是负责项目的贷款查找模块开发和测试.为什么总是要我管这些呢.其实心里还真是喜欢解决代码问题的.这里总有机会去深圳了.哈哈.. 以下是
阅读全文
摘要:一、Java基础 1.String类为什么是final的。 2.HashMap的源码,实现原理,底层结构。 3.反射中,Class.forName和classloader的区别 4.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。 5.Java中
阅读全文
摘要:一、Java基础 1. 集合框架A)集合中泛型优点? 将运行期的ClaasCastException 转到编译期异常. 泛型还提供通配符1)HashMap 允许一个键为null,允许多个值为null,默认容量是16,加载因子是0.75f,二倍扩容,是一种异步式线程不安全的映射。2)Hashtable
阅读全文
摘要:Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例驱动、以架构为核心的主流开发方法没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,
阅读全文
摘要:重点知识 由于我面试的JAVA开发工程师,针对于JAVA,需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) 1.JVM内存管理的机制 内存空间划分为:Sun JDK在实现时遵照JVM规范,将内存空间划分为堆、JVM方法栈、方法区、本地方法栈、PC寄存器。
阅读全文
摘要:作者:Xoper.ducky链接:https://www.nowcoder.com/discuss/3043?type=2&order=0&pos=5&page=2来源:牛客网 J2SE基础 1. 九种基本数据类型的大小,以及他们的封装类。 byte1 short2 int3 long4 doubl
阅读全文
摘要:项目经验 面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解程度,因为很多人简历上写的项目并非都是从头到尾都参与的,有些只是参与并实现了其中的一些模块而已,或是接手维护别人的项目,所以在你简历上所写的和面试过程中所说的项目经验,你自己必须能够了解来龙去脉
阅读全文
摘要:1、http和https区别 https协议需要到ca申请证书,一般免费证书很少,需要交费。 http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。 http的连接很简单,是
阅读全文
摘要:1、http和https区别 https协议需要到ca申请证书,一般免费证书很少,需要交费。 http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。 http的连接很简单,是
阅读全文
摘要:一、如何比较两个对象,比如学生类,根据属性年龄比较大小 参考:http://zhidao.baidu.com/link?url=0eh3YqTJGUd0Kp9R_YM3q2sh2A39i55sh2_SNFokjnqshjr8rlLew94IE6ZXw6WHiPr3WwrbTT7JQu8jx4RCYa
阅读全文
摘要:ThreadLocal(线程变量副本) --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。 采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,副本之间不共享数据.而不会和其他线程的副本冲突
阅读全文
摘要:首先常用api(String,StringBuffer/StringBuilder等) 1.集合类,线程类 2.Servlet(很少用纯粹的servlet写,但你要懂,因为很多框架都是基于servlet封装的) 3.json,xml读写 4.数据库访问(CRUD,事务,连接池) 5.http请求(H
阅读全文
摘要:Java基础 ● 集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap; ● 进程和线程的区别; ● Java的并发、多线程、 线程模型; ● 什么是线程池,如何使用? 答:线程池就是事先将多个线程对象放到一个容器中,
阅读全文
摘要:目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个 分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足
阅读全文
摘要:目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个 分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足
阅读全文
摘要:1、不管有木有出现异常,finally块中代码都会执行; return 先执行 把值临时存储起来, 执行完finally之后再取出来 值是不会改变的2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的
阅读全文
摘要:静态变量:线程非安全。 加static关键字的变量,只能放在类里,不能放到方法里。 静态变量有默认初始化值。 成员变量也有初始化值 局部变量没有 静态变量表示所有实例共享的一个属性,位于方法区,共享一份内存,而成员变量是对象的特殊描述,不同对象的实例变量被分配在不同的内存空间,一旦静态变量被修改,其
阅读全文
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,
阅读全文
摘要:1. Hibernate的工作流程? 答案: 1.通过Configuration对象读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory对象 3.打开session 4.创建事务Transaction 5.持久化操作,对对象进行CRUD操作 6.提交事务 7.关闭sessio
阅读全文
摘要:日期类型转换不了json格式数据 json转换数据的时候可以设置某个字段不需要转换 jsonconfig=new JsonConfig() //{} 内传入不需要转换的字段 jsonconfig.setexcludes(new String{"pdata"}) jsonObject.fromObje
阅读全文
摘要:Java类加载过程 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。 其中类加载过程包括加载、验证、准备、解析和初始化五个阶段。 类加载器的任务就是根据一个类的全限定名来读取此类的二进制字节流到JVM中,然后转换为一个与目标类对应的java
阅读全文
摘要:博客起名为Java垃圾收集机制,给人的感觉就像是垃圾收集是Java语言特有的。事实上,垃圾收集(Garbage Collection)远比Java久远。垃圾收集需要考虑3件事情:哪些内存需要回收、什么时候回收、如何回收。带着这三个问题,我们去看看Java是如何实现垃圾回收的。 Java的垃圾回收(G
阅读全文
摘要:①首先会判断核心线程池里是否有线程可执行,有空闲线程则创建一个线程来执行任务。 ②当核心线程池里已经没有线程可执行的时候,此时将任务丢到任务队列中去。 ③如果任务队列(有界)也已经满了的话,但运行的线程数小于最大线程池的数量的时候,此时将会新建一个线程用于执行任务,但如果运行的线程数已经达到最大线程
阅读全文
摘要:Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度. Memcached基于一个存储键/值对的hashmap。 Redis是一个key-value存储系统,和Memcac
阅读全文
摘要:Bootstrap是一个支持响应式的Css框架它提供了很多组件,如导航条,面板,菜单,form表单,还有栅格,而且他们这些都是支持响应式的,可以在各种设备上进行完美的展现。这里面我感觉最有价值的就是bootstrap提供的栅格系统,这个栅格系统将整个页面分为12列,而且可以根据屏幕的宽窄进行自动调节
阅读全文
摘要:1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stu
阅读全文
摘要:、索引利弊 --整理 1、索引的好处 a、提高数据检索的效率,降低检索过程中必须要读取得数据量,降低数据库IO成本。 b、降低数据库的排序成本。因为索引就是对字段数据进行排序后存储的,如果待排序的字段与索引键字段一致,就在取出数据后不用再次排序了,因为通过索引取得的数据已满足排序要求。另外,分组操作
阅读全文
摘要:在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性(随时见到的都是最新值)和防止指令重排序。
阅读全文
摘要:——索引优化,可以说是数据库相关优化、理解尤其是查询优化中最常用的优化手段之一。所以,只有深入索引的实现原理、存储方式、不同索引间区别,才能设计或使用最优的索引,最大幅度的提升查询效率! 一、BTree索引 1、概述 Mysql数据库中使用最频繁的索引类型,基本所有存储引擎都支持BTree索引。正是
阅读全文
摘要:在ConcurrentHashMap没有出现以前,jdk使用hashtable来实现线程安全,但是hashtable是将整个hash表锁住,所以效率很低下。 ConcurrentHashMap将数据分别放到多个Segment中,默认16个,每一个Segment中又包含了多个HashEntry列表数组
阅读全文
摘要:Hashmap本质是数组加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。 ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个segment(段),默认16个(concur
阅读全文
摘要:单例模式是一种很基础的设计模式,在面试时可能会被要求手写不同类型的单例模式代码,主要有三种模式: 1、饿汉模式: [java] view plain copy //饿汉模式,很饿很着急,所以类加载时即创建实例对象 public class Singleton1 { private static Si
阅读全文
摘要:一、进程与线程?并行与并发? 进程代表一个运行中的程序,是资源分配与调度的基本单位。进程有三大特性: 1、独立性:独立的资源,私有的地址空间,进程间互不影响。 2、动态性:进程具有生命周期。 3、并发性:多进程可以在单核CPU上并发运行。 线程代表进程中的一个顺序执行流,多线程就是一个进程中的多个顺
阅读全文
摘要:函数回调机制,一种双向调用思想,简单来说就是,如下图所示: 在层次一中的方法一(函数)调用层次二中的方法,并传入函数二的地址,而这个被调用的方法又会调用层次一中的方法,这个最后被调用的方法二就是回调方法。方法三调用方法二就是回调的过程。一个有意思的例子,大家可以先感受一下:“诸葛亮给赵子龙一个锦囊,
阅读全文
摘要:如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟
阅读全文
摘要:IOC是一种叫做“控制反转”的设计思想。 1、较浅的层次——从名字上解析 “控制”就是指对 对象的创建、维护、销毁等生命周期的控制,这个过程一般是由我们的程序去主动控制的,如使用new关键字去创建一个对象(创建),在使用过程中保持引用(维护),在失去全部引用后由GC去回收对象(销毁)。 “反转”就是
阅读全文
摘要:1、HTML静态化 freemaker其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采 用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息 发布系统CMS
阅读全文
摘要:一、Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的。 Trowable是所有异常的超类. 他的常用方法printStackTrece()打印异常信息. Error 代表程序处理的错误. 通过程序改变不了的 . Java运行时系统的内
阅读全文
摘要:一、概述 在windows中,每一个打开运行的应用程序或后台程序,比如运行中的QQ、谷歌浏览器、网易云音乐、资源管理器等都是一个进程。我们感觉这些程序是“同时”运行的,但实际上,一个处理器同一时刻只能运行一个进程,只是CPU在高速轮换执行让我们有这样的错觉,我们感受不到中断的原因是CPU执行速度相对
阅读全文
摘要:1、常用的HTTP方法有哪些?GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。HEAD: 获得报文首部,与
阅读全文
摘要:Java流概念: Java把所有的有序数据都抽象成流模型,简化了输入输出,理解了流模型就理解了Java IO。可以把流想象成水流,里面的水滴有序的朝某一方向流动。水滴就是数据,且代表着最小的数据流动单位,在字节流中,水滴就是一字节(byte),在字符流中,水滴就是一字符(char)。 Java流的分
阅读全文
摘要:首先Throws(抛出)几个自己学习过程中一直疑惑的问题: 1、什么是类加载?什么时候进行类加载? 2、什么是类初始化?什么时候进行类初始化? 3、什么时候会为变量分配内存? 4、什么时候会为变量赋默认初值?什么时候会为变量赋程序设定的初值? 5、类加载器是什么? 6、如何编写一个自定义的类加载器?
阅读全文
摘要:Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Arra
阅读全文
摘要:一、web.xml是什么 web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是Web应用的配置文件,是Web应用的基础。 二、web.xml加载流程 总的来说:ServletContext——Listener——Filter——Servlet 1、首先Web容器创建一个Servle
阅读全文
摘要:一、首先了解TCP报文格式 其中必须了解的字段有: 1、源端口与目的端口:16位,标识出发送端与接收端的端口号。 2、序号:32位,也叫顺序号、seg序号,本报文段所发送的数据的第一个字节的序号,用来标记数据报顺序。 3、确认号:32位,ack序号,用来标记期待收到对方下一个报文段的第一个数据字节的
阅读全文
摘要:1、反射概念以及为什么要使用反射 我们考虑一个场景,如果我们在程序运行时,一个对象想要检视自己所拥有的成员属性,该如何操作? 那再考虑这样另一个场景,如果我们想要在运行期获得某个类Class的信息如它的属性、构造方法、一般方法 后再考虑是否创建它的对象,这种情况该怎么办呢?这就需要用到反射! 我们.
阅读全文
摘要:1、首先,Cookie与Session存在的目的是什么? 答:二者都是为了保持客户端访问用户与后台服务器的交互状态,之所以为了保持这种状态,一是为了方便一些业务的实现,另一方面就是为了简化后台服务端的程序设计,提高性能。 2、如何理解Cookie? 答:我理解的Cookie,就是服务器端用来区分访问
阅读全文
摘要:Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有
阅读全文
摘要:我们常说的JSP有九大内置对象分别为:request、response、session、out、pagecontext、page、exception、application、config。 我们知道,JVM只能识别java类,并不能识别JSP代码,那么这些对象是如何产生的的呢?这就要提到Servle
阅读全文
摘要:SpringMVC是当今最主流的Web MVC框架,没有之一,要做一名合格的JavaWeb工程师,学好它势在必行! 与Struts2原理不同,SpringMVC是通过最基础最传统的servlet来实现对框架源代码的封装以及对整个流程的控制的,而Struts2是通过过滤器来实现URL路径与具体Acti
阅读全文
摘要:因为在学习集合时知道集合里存放的对象都是Object类型,取出的时候需要强制类型转换为目标类型(使用泛型集合不需要),如int a = (Integer)arrayList.get(0);然后我们就会发现,为什么要强制转换为Integer,而不是int呢?int与Integer有什么区别呢? 1、基
阅读全文
摘要:1、Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请求数据进行检查或改动,并依次通过过滤器链,最后把请求/响应交给请求的Web资源处理。请求信息在过滤器链中可以被
阅读全文
摘要:一、实例变量 也叫对象变量、类成员变量;从属于类由类生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。但在Java多线程中,实例变量是多个线程共享资源,要注意同步访问时可能出现的问题。 [java] view plain copy <span style="fo
阅读全文
摘要:一、String 使用 private final char value[]来实现字符串存储 所以String对象创建之后就不能再修改此对象中存储的字符串内容,所以说String本质是字符数组char[],且其类型是不可变的! 相对应String,StringBuffer与String功能大致相同,
阅读全文
摘要:(转载整理自并发编程网,略有修改整理,多涉猎多分享,共同学习,愿大家都成为Offer收割机!) 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题! Java多线程面试问题 1
阅读全文
摘要:一、Servlet是什么?JSP是什么?它们的联系与区别是什么? Servlet是Java编写的运行在Servlet容器的服务端程序,狭义的Servlet是指Servlet接口,广义的Servlet是指任何实现Servlet接口的类,我们一般理解的为后者。Servlet的作用是接收浏览器发给服务器的
阅读全文
摘要:5、冒泡排序、二分查找 a) 冒泡 public static void mp(int a[]) { int swap = 0; for (int i = 0; i < a.length; i++) { for (int j = i; j < a.length; j++) { if (a[j] >
阅读全文
摘要:单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。 饿汉法 顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下: 1 2 3 4 5 6
阅读全文
摘要:前端 优化 6、延长静态资源缓存时间这样,频繁访问网站的访客就能够更快地访问。不过,这里要通过修改文件名的方式,确保在资源更新的时候,用户会拉取到最新的内容。7、把CSS放在页面头部,把JavaScript放在页面底部这样就不会阻塞页面渲染,让页面出现长时间的空白。 2、选择合适的图片格式如果图片颜
阅读全文
摘要:二、sql优化:(索引、范式) 范式: 第一范式(确保每列保持原子性)最基本范式。数据库表中所有字段值都是不可分解的原子值,就满足了第一范式。 第二范式(确保表中的每列都和主键相关)在第一范式上更近一层。确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关,也就是说一个表中只能保存一种数
阅读全文
摘要:web.xml文件中可以配置哪些内容? 答:web.xml用于配置Web应用的相关信息,如:监听器(listener) 、过滤器(filter) 、 Servlet初始时机<load-startup>、相关参数、会话超时时间<session-timeout>、安全验证方式、错误页面<Error-pa
阅读全文

浙公网安备 33010602011771号