java中有几种常见的代码块,那怎样区别他们呢? 这里就这些问题,浅谈下我个人的理解. 1.局部代码块 局部代码块,又叫普通代码块.它是作用在方法中的代码块.例如: public void show(){ {  System.out.println("局部代码块运行!"); } } 作用:是控制变量的生命周期. 在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间.因此就有了局部代码块. 2.构造代码块 在类中: 格式:{…
Java 数据类型 基本数据类型 数值:int.short.long 字符:char 布尔:boolean 引用数据类型 class(类) interface(接口) 数组[] 所占字节数(1 byte= 8 bits) int:4字节 char: 规定2字节.若使用UTF-8编码,数字和英文等占1个字节,中文3个字节:若用GBK编码,中文是2个字节 float:4字节 short:2字节 long:8字节 double:8字节 注意:Java中整数默认的是Int,小数默认double floa…
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // 定义类 class Person { // 定义name,age属性 private String name; private int age; // 定义有参数的构造方法 Person(String name, int age){ this.name = name; this.age = age;…
黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {         public  static  void  main(String[] args)  throws  Exception {               // 通过中介公司生产一批衣服             ClothingProduct cp =  new  ProxCompany( ne…
一.代码块: 构造代码块------类中方法的外面:每次调用构造方法都执行: 静态代码块------类中方法的外面,括号前加上static:只执行一次,随着类的加载而执行: static代码块.构造代码块,自己写的做实验的小例子: public class TestStatic{ public static void main(String args[]){ TestBlock t1 = new TestBlock(); System.out.println(t1); System.out.pr…
1. Jsp和servlet有什么区别 首先你先要弄懂什么是servlet,servlet是在服务器端执行的java程序,只不过它有专门的一套规则(就是我们平常所说的api):jsp说得简单点就是用另一套简单的规则写的servlet程序,它可以写java代码,还可以写html代码,JavaScript,css等等……,但是到服务器端首先会被转成servlet程序然后就按照servlet的执行顺序执行了. 简单点jsp就是servlet的扩展,你应该知道jsp第一次运行时要先翻译成JAVA代码,在…
笔记: /**通过 Runnable接口来实现多线程 * 1. 创建一个实现runnable 接口的类 * 2. 在类中实现接口的run() 抽象方法 * 3. 创建一个runnable 接口实现类的对象 * 4. 将此对象作为形参传递给Thread 类的构造器中 ,创建 Thread 线程 * 5.调用start() 方法,执行 Thread 方法 * ------------------------------ * Runnable接口意义: * 可以应用于 已经继承与其他类的线程, 毕竟一…
    JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code package per.jizuiku.base; import java.util.Scanner; /** * @author 给最苦 * @date 2019/06/22 * @blog www.cnblogs.com/jizuiku */ public class Demo { /** *…
1. 简介 我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock. 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock? 从synchronized的缺陷讲起,然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口,最后讨论以下一些关于锁的概念方面的东…
一.内部类 1.1.1.成员内部类 一个类定义在另一个类的内部,那么该类就叫作成员内部类 1.1.2.成员内部类访问方式 方式一:在外部类中提供一个方法创建内部类的对象进行访问       方式二:在其他类中创建内部类的对象:   格式:外部类.内部类 变量名=new 外部类().new 内部类(); 注意:如果是一个静态的内部类,那么其他内的创建的格式                  外部类.内部类 变量名 = new 外部类.内部类(); 方式一: /* 方式一 */ //外部类 int…
public class StaticVariable { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); p1.name = "张三"; p2.name = "李四"; System.out.println("p1: " + p1.name); System.out.println("p2: &qu…
所有JAVA线程都必须是Thread或其子类的实例. 继承Thread类创建线程 步骤如下, 定义Thead子类并实现run()方法,run()是线程执行体 创建此子类实例对象,即创建了线程对象 调用线程对象的start()方法来启动线程 下面是一个例子, package threads; public class FirstThread extends Thread { //通过继承thread方式实现多线程 //i不会被多个线程共享 private int i; public void ru…
1. 并发 和 并行区别 (1)并发:(单核) 并发,是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为cpu要在多个程序间切换)运行多个程序. 并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行. 并发性是对有限物理资源强制行使多用户共享以提高效率. (2)并行(多核) 现在cpu到了多核的时代,那么就出现了新的概念:并行 并行,是每个cpu运行一个程序. 并行是真正的细粒度上的同时进行:既同一时间点上同时发生…
final final概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. final特点 1,final修饰类不可以被继承,但是可以继承其他类. class Yy {} fin…
一.构造函数 1 构造函数的作用 给对应的对象进行初始化. 2 构造函数的格式 修饰符 函数名(形式参数){ //函数名就是类名 函数体 } 举例说明: class Perosn{ private int id; private String name; private int age; public Perosn(){ //无参构造器 cry(); } public Perosn(int id, String name, int age) { //有参构造器 this.id = id; thi…
在Java中代码块指的是使用”{}”括起来的代码称为代码块.代码块一共分为4种:局部代码块,静态代码块,同步代码块,构造代码块. 1.局部代码块 局部代码块就是定义在方法体内部的代码块. public class CodeBlockTest { public static void main(String[] args) { int i; { i=10; System.out.println("局部代码块"+i); int j=20; System.out.println("…
1. final关键字 1.1 final的概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. 1.2 final的特点 final修饰类不可以被继承,但是可以继承其他类. c…
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public HelloA(){//构造函数 } 关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的.2.构造函数的作用是用于给对象进行初始化.3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次. 构造代码块 {//构造代码块 }…
块的作用域:   块(即复合语句)是指一对花括号括起来的若干条简单的java语句.块确定了变量的作用域.一个块可以嵌套在另一个块中.但是,在嵌套的两个块中声明同名的变量时应注意,块中变量申明在块外变量之后,会报错(如本例),反之不会(如普通代码块的例子). public class BlockMain { public static void main(String[] args) { int k; { int k; //此处在嵌套块中申明了相同变量,出错 int n; } } }   java…
在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序. 1.静态代码块 ①.格式 在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: public class CodeBlock { static{ System.out.println("静态代码块"); } } ②.执行时机 静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构造函数.如果一个…
构造函数.构造代码块和静态代码块容易混淆,它们的执行条件和执行顺序也常常容易犯迷.这里就针对这些问题说一下我个人的一些理解,顺便对这部分内容做个小结. 一.构造函数 格式:类名(参数1,参数2,-){构造函数执行语句}: 关于构造函数,以下几点要注意: 在Java中,任何变量在被使用前都必须先设置初值. Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor) 构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: 1.构造方法的名字必须与定义他的类名完全相同,没有…
本文内容: 局部代码块 构造代码块 静态代码块 补充 首发日期:2018-03-28 局部代码块: 局部代码块用于限制变量的生命周期,如果希望某些变量在某一过程之后直接失效而不希望被后面继续操作时,可以使用局部变量来限制变量的生命周期带局部代码块中 构造代码块: 构造函数只对对应的对象进行初始化,构造代码块给类的所有对象进行初始化. 由于构造代码块给类的所有对象进行初始化,所以对于每个对象都要初始化成一样值的变量,可以防止构造代码块中初始化. class Person{ String gende…
一:静态代码块 注意是代码块,不是静态函数.函数要调用才执行,代码块加载就执行,一般是静态变量的声明与初始化.被static修饰的代码块(赋值.输出操作等).类中静态语句块仅在类加载时被执行一次 如 static int a=1: static { int b=2; System.out.print(b);} 二:构造代码块 构造代码块是指不在类的任何一个方法中的代码.一般为全局变量的声明与初始化.顺序执行的输出语句等等.如果没有static修饰的话,这些代码按照编码时顺序执行. Java会把构…
/*代码块: * 用{}修饰的代码 * 1.局部代码块:控制变量,存在方法中,控制变量的生命周期(作用域) * 2.构造代码块:提取构造方法中的共性,每次创建对象,都会执行,并且在构造方法执行之前执行. * 3.静态代码块:随着类的加载而加载,和对象无关,只加载一次. */ 1.局部代码块 public class codeblock { public static void main(String[] args) { { int num=10; } System.out.println(num…
不多说,直接上干货! 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法.一般来说代码块是不能单独运行的,它必须要有运行主体.在Java中代码块主要分为四种: public class Test { { //// } } 普通代码块 普通代码块是我们用得最多的也是最普遍的,它就是在方法名后面用{}括起来的代码段.普通代码块是不能够单独存在的,它必须要紧跟在方法名后面.同时也必须要使用方法名调用它. public cl…
一.静态代码块 1.在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: public class CodeBlock{ static{ System.out.println("静态代码块"); } } 2.执行时机 静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构造函数.如果一个类中有多个静态代码块,就会按照书写的顺序执行. 3.静态代码块的作用: 一般情况下,如果有些代码需要在项目启动的时候执行,这时就需要静态代码快,比…
------- android培训.java培训.期待与您交流! ---------- 构造函数特点: 1.  函数名与类名相同 2.  不用定义返回值类型 3.  不可以写return语句 构造函数的作用:可以用于给对象进行初始化. 注意: 1.  默认构造函数的特点. 2.  多个构造函数是以重载的形式存在的. 构造函数的小细节: 对象一建立就会调用与之对应的构造函数. 当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数. 当在类中自定义了构造函数后,默认的构造函数就…
静态代码块   static{ 代码 } 随着类的加载而加载,随类的消失而消失,存在于类中,方法外,最先执行,且只加载1次,可用来加载驱动及初始化对象属性. 构造代码块   {   } 也存在于类中,方法外,由多个构造方法中相同的代码存放到一个代码块中调用执行,由于构造方法执行. 具体执行顺序参考下面代码. 例: public class Demo4 { static{ System.out.println("Demo静态代码块执行了"); } { System.out.println…
父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class A { A() { System.out.println("A构造方法"); } { System.out.println("A构造代码块"); } static{ System.out.println("A静态码块"); } public sta…
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方法(或构造函数)是类的一种特殊方法,用来初始化类的一个新的对象.Java 中的每个类都有一个默认的构造方法,它必须具有和类名相同的名称,而且没有返回类型.构造方法的默认返回类型就是对象类型本身,并且构造方法不能被 static.final.synchronized.abstract 和 native…