1. anonymous inner class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 不行,对于匿名内部类,看到的一句话说的很到位: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,他对一个给定的类进行扩展,或实现一个给定的接口.他还创建那个类的一个新实例,并把他作为语句的结果而返回. 这就是匿名类的实质,它本身就是一个类的继承或一个接口的实现,所以继承其它类或借口是无意义的…
纵观网上有很多非常好的对Java技术的总结,这里我个人谈谈对Java技术学习有哪些重点内容[浮浅之见] Java环境搭建 Java基础语法 Java面向对象编程 Java异常 Java IO流 Java 集合框架 Java 多线程编程 Java 网络编程 Java 反射 Java JDBC Java GUI 如果是零基础入门学习Java的同学们,在Java环境搭建.Java基础语法这两点是为大家建立编程思维的重点.这样后期才能接着学习Java的面向对象,下面我给一个Java基础知识的思维导图,供…
按照Java从业人员的职位晋升来说,Java程序成长路线大致如下 Java程序员 JavaEE初级软件工程师 JavaEE中级软件工程师 JavaEE高级软件工程师 Java架构师 按照职业发展方向,大致如下 第一条职业发展路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师 第二条职业发展路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监 Java初级程序员应该具备的技术 Java基本语法 Java面向对象编…
1.为什么搭建Java的环境 Java的程序语言不能独立在操作系统上运行 Java程序需要一个JVM(Java虚拟机)才能将程序员写好的Java程序运行在操作系统 Java程序的跨平台(Mac, Linux, Windows) 2.怎么搭建Java环境 下载JVM虚拟机(JDK:Java开发工具) 配置Java的环境变量(如果你写的Java程序需要手动编译运行,则环境变量一定要配置) PATH:配置可执行程序的路径 CLASSPATH:指定Java的库文件(组件)路径 JAVA_HOME:JDK…
TortoiseSVN是一个免费的SVN客户端,非常好用.这里我们介绍一下TortoiseSVN基础应用. 下面的内容是转载博客园的某兄弟写的,个人觉得很不错.所以尊重转载的这篇文章,必须要给出这篇博客的地址:http://www.cnblogs.com/lcyuhe/p/4539702.html 这篇文章介绍的内容如下: 添加文件 修改文件 重命名文件 删除文件 版本冲突解决 重置密码…
面试大总结之一:Java搞定面试中的链表题目 分类: Algorithm Interview2013-11-16 05:53 11628人阅读 评论(40) 收藏 举报 链表是面试中常出现的一类题目,本文用Java实现了面试中常见的链表相关题目.本文主要参考整合重写了<轻松搞定面试中的链表题目>和 <算法大全(1)单链表>两篇大作.两篇大神的实现分别是C和C#,因为我更喜欢用Java面试,所以用Java重写了所有实现,并附上自己的一些思考注释.算法大全(1)单链表 尚未有一些问题尚…
package LinkedListSummary; import java.util.HashMap; import java.util.Stack; /** * http://blog.csdn.net/luckyxiaoqiang/article/details/7393134 轻松搞定面试中的链表题目 * http://www.cnblogs.com/jax/archive/2009/12/11/1621504.html 算法大全(1)单链表 * * 目录: * 1. 求单链表中结点的个…
package BinaryTreeSummary; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Stack; /** * http://blog.csdn.net/luckyxiaoqiang/article/details/7518888 轻松…
本章承接Java编程基础-面向对象(上)一文. 一.static关键字 在java中,定义了一个static关键字,它用于修饰类的成员,如成员变量.成员方法以及代码块等,被static修饰的成员具备一些特性. 1.static关键字的特点: a)随着类的加载而加载,也就是说,静态会随着类的消失而消失,说明它的生命周期最长. b)优先于对象存在,明确一点,静态是先存在的,对象是后存在的. c)被类的所有对象共享. d)可以通过类名调用. 2.静态变量 在一个java类中,可以使用static关键字…
1.MyBatis的环境配置 导入MyBatis包, mybatis-3.2.8.jar 导入MySQL驱动包, mysql-connector-java-5.1.24-bin.jar 创建表的实体类, 例如: MyUser(id, name, password) 编写MyBatis的核心配置文件, SqlMapConfig.xml 编写映射文件, 例如: MyUserMapper.xml 编写测试来完成数据库CRUD操作 2.MyBatis代码编写原理图,因为环境搭建成功不成功需要我们写一段代…
此文章也是关注网上好几篇技术文章后,今天分享出来.因为,总有在程序学习路上的小伙伴会感到迷茫.而迷茫存在的情况如下 第一种:在大学学习中出现的迷茫,不知道Java到底要学什么.学习Java的标准是什么.又因为Java学习就像品味一杯咖啡一样,一开始很辛苦(迷茫阶段),一旦认不清楚自己的方向就换一门语言,或是不会再坚持下去 第二种:很多人认为Java开发在工作中就是增删改查,每天就期待下班,简直就是做一天和尚撞一天钟 为了打破这种僵局,Java程序员在这个迷茫的阶段应做什么呢? 下面我将为程序员小…
Spring IoC(DI)是Spring框架的核心,所有对象的生命周期都是由它们来管理.对于弄懂Spring IOC是相当关键,往往我们第一次接触Spring IOC大家都是一头雾水.当然我们这篇文章会通过程序例子的方式来告诉大家.但是我不能说自己就相当专业,如果还有不懂的朋友们建议去看一下Spring的官方文档,或者是参考网上其他的一些博客. 1. Spring IOC的概念 IOC(Inversion of Control,控制反转),所有的Java类(不管是JDK库中Java类,还是你自…
美团喜欢一口气把三轮技术面和HR面一起面完,虽然身心比较累(每一面差不多一个小时),不过也算是一个好事,不像某些公司一天就一面然后让回去等消息,等面试通知也等得让人很焦虑,而且还容易出现面试时间冲突. 一面 1.比较LinkedList.ArrayList的区别,分别适用于什么场景 2.Synchronized关键字和ReentrantLock的区别 3.用过哪些线程池,ThreadPoolExecutor的参数含义 4.什么是悲观锁和乐观锁,乐观锁的实现原理 5.计算机网络中OSI七层模型每一…
这篇文章不是我自己原创的,但是为了后期的阅读,所以我收录网上的一篇文章.为了尊重作者的版权,转载地址先放上来,大家也可以去访问他的原始文章.http://jadyer.cn/2013/09/24/spring-introspector-cleanup-listener/ 1. 简介 JDK中的 java.beans.Introspector 的用途是:发现 Java 类是否符合 JavaBean 规范.如果有的框架或程序用到了 Introspector,那么就会启用一个系统级的缓存,里面存放一些…
作为一名java工程狮,大家肯定经历过很多面试,但每次几乎都会被问到什么是MVC设计模式,你是怎么理解MVC的类似这样的一系列关于MVC的问题. [出现频率] [关键考点] MVC的含义 MVC的结构 [考题分析] 在java Web开发中,存在两种普遍的开发模式,通常成为模式1和模式2.模式1使用JSP+JavaBean技术将页面显示和业务逻辑分开,由JSP来实现页面的显示,JavaBean对象来保存数据和实现业务逻辑.客户端直接向JSP发出请求,JSP做出相应的响应,并调用JavaBean对…
1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用.也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用. 2.Inte…
----?为什么要用到多线程 CPU是以时间片的方式为进程分配CUP处理时间的,如果当一个进程同时要完成几件事的时候,如当从网上下载文件的时候,需要一边下载一边显示进度而且还要一边保存,如果按照单线程的思想,那么这种情况就只能一个完成之后才能继续下一个,如果将CPU看成有100个时间片的话,那么完成一件事可能只占了10%,这样剩下的就白白浪费了,没有充分的利用到CPU的资源.如果同时处理3件事的话,那CPU的利用率就提升到了30%,这样就大幅地提升了CPU的利用率. 总的一句话就是:CPU还是要…
前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础.这个步骤是系统架构从猿进化成人的必经之路 核心思想:前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互 在互联网架构中服务器的分类如下: web服务器:一般指像nginx,apa…
今天的这个文章题目名称甚是让人会突发异想.JS变量作用域是务必需要搞懂的,单从面试过程就会让面试者烧脑壳.所以,我们还是写一篇关于JS变量作用域的技术专题,让所有小伙伴能够借此文章去整理JS的基础学习.说不定很多人会比我理解这方面基础知识有更好地见解 黄金守则第一条: JS没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到 <!doctype html> <html lang="en"> &…
今日来具体给讲讲SpringMVC与Struts2的对比,这样方便朋友们在工作中或者是面试学习中对这两者的区别有个更好的了解 把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的) 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第一.MVC框架的出现是为了将URL从HTTP的世界中映射到Java世界中,这是MVC框架的核心功能.而在URL这一点SpringMVC无疑更加优雅. 第二.从设…
AOP技术个人认为是能够完善(改善)面向对象编程OOP.为什么这么说,我们得先从AOP的概念说起,然后通过一段简单的例子加以佐证.这样子大家就可以慢慢地了解AOP 1. AOP概念 AOP为Aspect Oriented Programming的缩写,含义:面向切面的编程. 2. AOP主要作用是什么,为什么要提出AOP概念,AOP技术到底能用到哪些实际的开发场景里面去 AOP技术主要的用做在日志记录,性能统计,安全控制,事务处理,异常处理等等 例如日志功能,日志代码往往横向地散布在所有对象层次…
Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为在Spring2.0的版本时候是没有出现注解的使用 1. Spring常用注解如下 @Component @Autowired @Qualifier @Scope @Controller @Service @Repository 2. 使用Spring注解的时候一定关注Spring框架需要加入的包[…
1.MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. 2.MyBatis中用于实现动态SQL的元素主要有 if choose(when,otherwise) trim where set foreach 可以看出MyBatis的动态SQL的标签元素和接近JSP中的JSTL语法,下面我就分别详细的介绍一下 3.动态SQL中if的用法 <?xml version="1.0" encoding="UTF-8" ?&g…
一般MyBatis最基本标签,或者说初学者上手最快的标签就是增删改查 1.<insert>标签,在MyBatis中完成数据添加操作 <insert id="addMyUser" parameterType="com.gxa.pojo.MyUser"> insert into MyUser (username, userpass) values (#{username}, #{userpass}) </insert> 2.<u…
<resultMap>:用于解决实体类中属性和表字段名不相同的问题 id:表示当前<resultMap>标签的唯一标识 result:定义表字段和实体类属性的对应关系 property:记录实体类的属性 column:记录表的字段名称 1.一般我们在配置实体类的时候习惯将实体类中属性名字和字段名称一样,不管在后期维护还是开发过程中可读性比较好. <?xml version="1.0" encoding="UTF-8" ?> <…
1.Mybatis映射文件的<select>标签主要帮助我们完成SQL语句查询功能,<select>标签它包含了很多属性,下面简单对<select>标签的属性做一个归纳 id:唯一指定标签的名字 resultType:查询结构返回的数据类型,自动进行封装操作 parameterType:给SQL语句传递参数的数据类型 resultMap:查询结果返回的数据类型,会根据映射文件中<resultMap>来完成数据封装 parameterMap:给SQL语句传递参…
1.什么MyBatis,我们先通过百度百科先进行一个简单的了解 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access…
斗胆让我在这里介绍一下Eclipse快捷键有哪些 ctrl+shirt+r 打开资源 这组快捷键可以让你开打Eclipse工作区中任何一个文件,你只需要输入你想查找的文件名字即可,而且绝对支持模糊检索 ctrl+o 如果想查看某个类中的方法就可以使用这个此快捷键 ctrl+e 此快捷键将帮助你在打开的编辑器之间进行浏览.使用ctrl+page up或ctrl+page down可以浏览前后的选项卡,但是在很多个文件打开的状态下,ctrl+e效率更高 alt+shift+r 重命名,此快捷键可以重…
我们一般学习Java都应该遵循通过系统的命令工具来编译Java程序,然后对编译好Java程序进行运行,这个是非常好的习惯.但是随着后期学习Java技术的深入我们也得像Java的IDE工具屈服.所以,可以在学习Java技术时候避开环境配置快速的使用Java的开发工具,对我们来说也不是一件坏事情 1.Eclipse(Java开发工具的老司机) Eclipse:将Java程序从编译到运行的一个流程通过Eclipse来搞定 注意一点:Eclipse(x86, x64)要运行成功需要注意和JVM的版本一致…
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的.这篇文章收集了Java线程方面一些典型的问题,这些问题经常被高级工程师所问到. 0.Java中多线程同步是什么? 在多线程程序下,同步能控制对共享资源的访问.如果没有同步,当一个Java线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果. 1.解释实现多线程的几种方法? 一Java线…