自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

转载 Java NIO

New IO与标准IO的不同:Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是

2017-08-31 16:59:26 380

原创 Git和SVN的区别

GIT不仅仅是版本控制系统,也是内容管理系统、工作管理系统。以下就是GIT和SVN的异同:1. GIT是分布式的,SVN不是这是GIT和SVN、CVS最核心的区别。GIT和SVN都有自己集中式版本库或服务器,GIT中开发人员可以从中心版本库、服务器check out一个自己的版本库。所以在没有网络的时,仍然能够提交文件、查看提交历史记录、创建项目分支。2. GIT把内容按照

2017-08-16 20:11:31 319

原创 设计模式六大原则

开闭原则开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。里氏代换原则里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏

2017-08-08 16:16:57 195

原创 枚举类型与泛型

JDK1.5中新增了枚举类型和泛型,枚举类型可以取代以往常量的定义方式,将常量封装在类或接口中,还提供了安全检查功能。枚举类型本质上还是以类的形式存在。泛型的出现不仅可以让程序员少写很多代码,主要的作用是解决类型安全问题,提供编译时的安全检查,不会因为将对象置于某个容器中而失去类型。枚举类型以往定义常量的方式使用接口,这样在程序中可以直接被使用,而且该常量不能被修改,接口中定义常量

2017-08-08 09:06:22 1420

原创 synchronized修饰静态方法和非静态方法的总结

synchronized关键字修饰静态方法和非静态方法的总结?synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,称之为对象锁;此时,同一个对象在两个线程中分别访问该对象的两个同步方法,产生互斥;不同对象在两个线程中调用同一个同步方法,不互斥。synchronized修饰静态方法,实际上是对该类对象加锁,称之为类锁。此时,用类在两个线程中调用两个

2017-08-08 09:03:37 747

原创 Java内存管理

1、GC线程是否为守护线程?解析:线程分为守护线程和非守护线程(用户线程);只要当前JVM实例中尚存在任何一个非守护线程还没结束,守护线程就全部工作;只有当最后一个非护守线程结束时,守护线程随着JVM一同结束工作;守护线程最为典型的应用就是GC(垃圾回收器)。2、解释内存中的栈(Stack)、堆(Heap)和静态存储区的用法?解析:通常我们定义一个基本数据类型的变量、一个对象的引用、还

2017-08-08 09:02:18 239

原创 Java中的异常和错误

1、Java异常类Java异常的基类java.lang.Throwable,java.lang.Error和java.lang.Exception继承Throwable,RuntimeException和其他的Exception等继承Exception,具体的RuntimeException继承RuntimeException。2、错误和异常的区别java.lang.Error是Thr

2017-08-08 09:00:57 307

原创 Java面试题之十

1、什么是ORM?对象关系模型(Object-Relational Mapping),解决程序的面向对象模型与数据库的关系模型不匹配的问题。2、持久层框架有哪些?需要考虑的问题?Hibernate、MyBatis、Spring Data专注于实现数据持久化3、什么是IOC和DI?IOC是控制反转,对对象控制权的转移,从程序代码本身转移到外部容器,由容器来创建和管理对象间的依

2017-08-08 08:42:24 346

原创 Java面试题之九

1、JDBC如何进行事务管理?Connection提供了事务处理的方法,调用setAutoCommit(false)设置手动提交事务;事务完成后用commit()显示提交事务;通过rollback()进行事务回滚;JDBC3.0中引入了Savepoint的概念,可以让事务回滚到指定的保存点;2、JDBC如何处理Blob和Clob?Blob:二进制大对象,存储大的二进制对象设计的;C

2017-08-08 08:40:25 323

原创 Java面试题之八

1、用Java代码列出一个目录下的所有文件?https://github.com/zgwang24/Interview/blob/master/src/num07/OpenDirs.java2、用Java套接字编程实现一个多线程的回显(echo)服务器?参考文章中72题:http://blog.csdn.net/jackfrued/article/details/449219413

2017-08-07 20:47:56 228

原创 Java面试题之七

1、编写多线程程序的几种实现方式?Java5以前,继承Thread类和实现Runnable接口,两种方式都要通过重写run()方法定义线程的行为。推荐后者,因为Java的继承是单继承,使用Runnable接口更为灵活。Java5以后还有第三种方式,实现Callable接口。2、synchronized关键字的用法?将对象或方法标记为同步,实现对对象和方法的互斥访问。3、同步和异

2017-08-07 20:44:23 305

原创 Java面试题之六

1、关于异常抛出顺序问题?里氏替换原则:能使用父类型的地方一定能用到子类型;https://github.com/zgwang24/Interview/blob/master/src/num05/Human.java2、List、Set、Map是否继承Collection接口?List和Set是;Map不是;Map是键值对映射容器,Set存储不重复的元素,List是线性结构更适合按

2017-08-07 20:43:22 281

原创 Java面试题之五

1、时间和日期:获取年月日,时分秒?获取时间戳?获取某月最后一天?格式化日期?https://github.com/zgwang24/Interview/blob/master/src/num05/DateTimeTest.java补充:关于Java并发编程的总结和思考http://blog.csdn.net/jackfrued/article/details/444992272、

2017-08-07 20:41:55 242

原创 Java面试题之四

1、String s = new String("xyz");创建了几个字符串对象?一个是静态区的xyz,一个是用new关键字创建在堆上的对象;2、接口是否可以继承(extends)接口?抽象类是否可以实现(implements)接口?抽象类是否可以继承具体类?接口可以继承接口,而且支持多重继承;抽象类可以实现接口,可以继承抽象类和具体类;3、一个“.java”源文件中是否可以包含

2017-08-07 17:34:13 232

原创 Java面试题之三

1、JVM加载class文件的原理机制?JVM中类的加载由类加载器(ClassLoader)和它的子类来实现;类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。类加载后进入连接阶段,包括验证、准备、解析三步。最后进行初始化,如果存在直接父类先初始化父类;如果类中存在初始化语句,执行初始化。类的加载由类

2017-08-07 17:33:30 238

原创 Java面试题之二

1、switch能否作用在byte上、long上、String上?5以前只能是byte、short、int、char;5开始引入枚举类型enum;7开始可以是字符串;long目前所有版本中不支持。2、最优效率的方式计算2乘以8?2重写hashCode方法时,产生散列码选择31这个素数,因为可以用移位和减法代替乘法换取更好的性能,31*num等价于(num3、数组有没有lengt

2017-08-07 17:30:20 200

原创 计算机网络面试题总结之一

OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议     (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3    (中继器,

2017-08-07 17:12:05 228

原创 Java面试题之一

1、面向对象的特征有哪些?抽象、继承、封装、多态性:编译时多态(方法重载overload)、运行时多态(方法重写override)2、访问修饰符public、protected、默认、private区别?public:当前类、同包、子类、其他包protected:当前类、同包、子类default:当前类、同包private:当前类3、String是最基本类型吗?Ja

2017-08-07 17:09:17 219

原创 浅谈Java反射与Annotation

通过Java反射机制,编程人员可以更加深入的控制程序的运行过程。从JDK1.5开始新增了Annotation功能,本文主要讲述Java反射的相关内容,包括定义Annotation类型的方法和在程序运行时访问Annotation信息的方法。通过学习本文,你能构了解到:通过反射访问构造方法的的方法、访问成员变量的方法、访问方法的方法、定义Annotation类型的方法、访问Annotation信息的方

2017-08-07 15:12:13 415

原创 线程池

线程池的好处:降低资源消耗:避免了频繁创建和销毁线程的资源消耗;提高相应速度:当有新的任务到达时,不必每次都新建线程就可以立即执行;提高线程的可管理性:线程池对线程进行统一分配、调优和监控。不允许无限制的创建线程。线程池源码分析其实现原理当线程池接收到一个新的提交任务,线程池如何处理这个新任务,这部分主要学习线程池的针对新任务的处理流程。

2017-08-04 15:47:08 271

原创 MySql数据库索引类型及优化简介

MySql索引类型及优化方式

2017-02-25 12:42:44 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除