Java基础
文章平均质量分 66
占据一方
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
展开
-
java递归方法解决汉诺塔
import java.util.Scanner;public class Test { public static void main(String[] args) { System.out.println("请输入一个值"); Scanner scan=new Scanner(System.in); int n =scan.nextInt(); char x='A';//初原创 2017-08-07 19:55:17 · 555 阅读 · 0 评论 -
JVM内存模型
JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java 虚拟机的多线程是通过线程转载 2017-09-16 11:27:59 · 185 阅读 · 0 评论 -
Java中的四种引用方式的区别
强引用、软引用、弱引用、虚引用的概念强引用(StrongReference)强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用:12Object object = new Object();String str = "hello";只要某个对象有强引用与之关联,原创 2017-09-15 20:51:29 · 313 阅读 · 0 评论 -
Jsp与Servlet的区别与联系
Jsp与Servlet的区别与联系1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对原创 2017-08-22 14:05:05 · 291 阅读 · 0 评论 -
简单工厂模式
工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象,将具体过程屏蔽隔离开,以提高灵活性。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程转载 2017-08-07 15:09:29 · 160 阅读 · 0 评论 -
Java中static代码块、普通代码块和构造代码块的执行顺序
—————————————————————public class Code { { System.out.println("Code普通代码块"); } static { System.out.println("Code的静态代码块"); } public Code() { S原创 2017-08-16 15:30:08 · 392 阅读 · 0 评论 -
Servlet、Struts1、Struts2、SpringMVC运行原理
Servlet:Servlet 是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类转载 2017-08-06 18:49:45 · 462 阅读 · 0 评论 -
静态代理模式
静态代理模式第一步:接口/** * 抽象角色:提供代理角色和真实角色对外提供的公共方法 */public interface Star { void confer();//面谈 void signContract();//签合同 void bookTicket();//订票 void sing();//唱歌 void c原创 2017-08-12 11:19:39 · 152 阅读 · 0 评论 -
建造者模式
一、建造者模式介绍建造者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]假如一个对象的构建很复杂,需要很多步骤。则可以使用建造者模式,将其构建对象和组装成一个对象这两步给分开来。构建部分为(builder)和组织部分(director),实现了构建和装配的解耦。不同的构建器,相同的装配也可以做出不同的对象。相同的构建器转载 2017-08-19 11:21:54 · 167 阅读 · 0 评论 -
原型模式
一、原型模式介绍原型模式:原型模式就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。所谓原型模式,就是java中的克隆技术,以某个对象为原型。复制出新的对象。显然新的对象具备原型对象的特点。效率高(避免了重新执行构造过程步骤)克隆类似于new,但和new不同。new创建新的对象属性采用的是默认值。克隆出来的对象的属性值完全和原型对象相同。并且克隆出的新对象不会影转载 2017-08-19 11:02:10 · 186 阅读 · 0 评论 -
Singleton单例模式
一、单例模式介绍单例模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。单例模式优点:1.只生成一个实例,系统开销比较小2.单例模式可以在系统设置全局的访问点,优化共享资源的访问。常见单例模式分类:主要:饿汉式(线程安全,调用效率高,但是不能延时加载)懒汉式(线程安全,调用效率不高,但是可以延时加载)其他:双重检测锁式(由于JVM底层内部模型原转载 2017-08-19 10:58:04 · 258 阅读 · 0 评论 -
二进制的转换与二进制的运算
进制转换十进制数转换为二进制数、八进制数、十六进制数的方法:二进制数、八进制数、十六进制数转换为十进制数的方法:按权展开求和与十进制(1)二进制转十进制方法:“按权展开求和”【例】:规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。注意:不是转载 2017-08-09 20:31:40 · 1881 阅读 · 0 评论 -
Java 中的堆和栈
Java 中的堆和栈 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组转载 2017-08-08 08:35:33 · 150 阅读 · 0 评论 -
JVM中的垃圾收集策略
标记-清除算法标记清除收集器停止所有的工作,从根扫描每个活跃的对象,然后标记扫描过的对象,标记完成以后,清除那些没有被标记的对象。优点:1 解决循环引用的问题2 不需要编译器的配合,从而就不执行额外的指令缺点:1. 每个活跃的对象都要进行扫描,收集暂停的时间比较长。2.标记-清除算法采用从根集合进行扫描,对存活的对象对象标记,标记完毕后,再扫描整个空间中未被标记转载 2017-09-16 11:31:59 · 248 阅读 · 0 评论