一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区别 非静态通过“对象.属性“的方式调用 静态通过“类名.属性“的方式调用 非静态属性每个对象各有一份,静态属性被对象之间共享,属于类 三.类的加载顺序 创建对象时: 1.首先加载静态资源 a) 静态代码块 b) 静态成员属性 静态资源只会加载一次,并且按照从上到下的顺序加载 2.加载普通代码块和成员…
MVC学习中忽然想到一个问题.. 在访问一个Index.cshtml页面时, MVC的加载顺序是怎么样的呢? 首先说下我的结论 . _ViewStart.cshtml . Index.cshtml . _Layout.cshtml 经过实验认为 http://www.byywee.com/page/M0/S957/957632.html 给出的结论是错误的. 若有不同意见的道友请留言辩驳..不胜荣幸 论述我的观点和实验过程: 经过了解 _ViewStart.cshtml页面指定谁是模板页  一般…
转自:http://blog.csdn.net/mrzhoug/article/details/51581994 一.在Java中,使用”{}”括起来的代码称为代码块,代码块可以分为以下四种: 1.普通代码块:就是类中方法的方法体   public void xxx(){       //code   } 2.构造块:用{}裹起来的代码片段,构造块在创建对象时会被调用,每次创建对象时都会被调用,并且优先于类构造函数执行. 构造块中定义的变量是局部变量.  {      //code   } 3.…
在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码块…
直接上代码: 代码1: public class ConstroctTest { private static ConstroctTest test = new ConstroctTest(); //静态变量sta1 未赋予初始值 public static int sta1; //静态变量sta1 赋予初始值20 public static int sta2 = 20; //构造方法中对于静态变量赋值 private ConstroctTest() { sta1 ++ ; sta2 ++ ;…
public class Test { //1.第一步,准备加载类 public static void main(String[] args) { new Test(); //4.第四步,new一个类,但在new之前要处理匿名代码块 } static int num = 4; //2.第二步,静态变量和静态代码块的加载顺序由编写先后决定 { num += 3; System.out.println("b"); //5.第五步,按照顺序加载匿名代码块,代码块中有打印 } int a =…
最后给大家一道面试题练练手,要求写出其结果(笔试) public class StaticTest { public static int k = 0; public static StaticTest t1 = new StaticTest("t1");   代码执行完这一行发生了什么?之所以会执行这行代码,是main方法里面第一次 new的缘故,第一次new,会加载这个类的static变量,static方法(不执行)和static块,因为 t1 是static,所以会执行这一行代码…
原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法. 它们只能访问static数据. 它们不能以任何方式引用this 或super. 无论是static修饰的变量,还是static修饰的方法,我们都知道他们是属于类本身的,不是属于某一个对象的,当声明一个对象时,并不产生sta…
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复"资料"即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南.Java学习指南等资源) ** 本文主要介绍了三种代码块的特性和使用方法. 具体代码在我的GitHub…
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数:name表示的是每个兵营的名称:selfCount表示每个兵营已经创建的士兵数量. 创建3个兵营,通过控制台为每个兵营定义兵营名称,并指定该兵营需要创建的士兵人数. 在主方法中输出当前兵营中的总人数. 实现思路: 创建Dota游戏中的兵营类的实现思路如下: 创建兵营类Barracks. 定义int类…
JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HOME%就可以取代:x:/jdk1.6.0这一部分 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/activation.jar:$JAVA_HOME/lib/mail.jar 或 CLASSPATH=…
参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 一.什么时候会加载类?使用到类中的内容时加载:有三种情况1.创建对象:new StaticCode();2.使用类中的静态成员:StaticCode.num=9;  StaticCode.show();3.在命令行中运行:java StaticCodeDemo 二.类所有内容加载顺序和内存中的存放位置:利用语句进行分析.1.Person p=new Person("zhang…
一.Java的反射机制   每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图:   其中…
什么时候会加载类 使用到类中的内容时加载,三种情况: 创建对象:new StaticDemo(); 使用类中的静态成员:StaticCode.num = 9;  StaticCode.getNum(); 在命令行中运行:java StaticDemo 类所有内容加载顺序及内存中的存储位置 语句分析 Person p = new Person("Shawn",20); 在栈内存中,开辟main函数的空间,建立main函数的变量p. 加载类文件:因为new要用到Person.class,所…
1,new一个对象时代码的执行顺序 (1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的) 1.为父类的静态属性分配空间并赋于初值 1.执行父类静态初始化块; (2)加载子类 2.为子类的静态属性分配空间并赋于初值 2.执行子类的静态的内容; (3)加载父类构造器 3.初始化父类的非静态属性并赋于初值 3.执行父类的非静态代码块; 4.执行父类的构造方法; (4)加载子类构造器 5.初始化子类的非静态属性并赋于初值 5.执行子类的非静态代码块; 6.执行子类的构造方法. 总之一句话…
一.背景: 在面试中,在java基础方面,类的加载顺序经常被问及,很多时候我们是搞不清楚到底类的加载顺序是怎么样的,那么今天我们就来看看带有继承的类的加载顺序到底是怎么一回事?在此记下也方便以后复习巩固! 二.测试步骤: 1.父类代码 package com.hafiz.zhang; public class Fu { private int i = print("this is father common variable"); private static int j = prin…
1.多环境配置 先描述下以前的开发流程:从SVN把项目下载到本地,各种修改配置文件,启动成功:完成功能后上传到公司的测试服务器,修改各种配置文件,启动成功:最后到上线的日子里,把新功能中涉及到的文件打成增量包,上线(尤其其中涉及ip地址.端口的,一定要把配置改好再上线).每次最害怕的就是,上线的文件中还有各种localhost,完了生产中又是各种集群(一堆的ip.端口),然后就产生了上线事故. 在springboot中,一般会先准备三套配置,一套本地,一套测试,一套生产.它的思路就是,我把各个环…
1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js. 2. js在jsp中的加载顺序 页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载.所以js加载的顺序也就是页面中<script>标签出 现的顺序.<script>标签里面的或者是引入的外部js文件的执行顺序都是其语句出现的顺序,其中js执行的过程也是页面装载的一部分.…
看下面例子及说明: /** 假如有外部类调用了该类,代码为:new StaticTest(); 那么下面是类属性的加载顺序 */ public class StaticTest{ public int dsd=2;//第3 //多个对象会有多次分配内存 public awds() { int sdsfsd=2;//第4 //多个对象会有多次分配内存 } //静态代码块 static{ System.out.println("静态代码块正在加载...");//第1 } public st…
如果是发布到weblogic的话,可以在WebContent\WEB-INF\weblogic.xml里面配置.参考配置如下:<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc…
最近公司要做功能迁移,原来的后台使用的Netty,现在要迁移到在uap上,也就是说所有后台的代码不能通过netty写的加载顺序加载了. 问题就来了,怎样让迁移到tomcat的代码按照原来的加载顺序进行加载(例如顺序:1.初始化spring容器,2.初始化线程池,3.加载业务代码,将数据库中数据加载到内存中).我个人首先想到的是在tomcat中加监听,tomcat启动时先加载监听中的方法.方法中的加载顺序也就是按照我拟定的顺序进行. 然后我查了一些资料,发现了两种解决方案: 1.通过tomcat的…
返回本章节 返回作业目录 需求说明: 创建一个 Person 类,该类中有一个类成员变量 country.一个实例变量 name 和另一个实例变量 age. country 表示地区,name 表示姓名,age 表示年龄. 创建 3 个 Person 对象,并分别给这3个对象的属性赋值. 分别获取3个Person对象的属性. 实现思路: 定义Person类的实现思路如下: 创建人类(Person). 定义 int 实例变量 age,String 实例变量 name,String 类变量 coun…
真正的加载顺序为:context-param -> listener -> filter -> servlet 加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.…
如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A继承类B,请问当实例化A时,类内部的加载顺序是什么? 测试代码如下: Class B: public class B{ //静态变量 static int i=1; //静态语句块 static { System.out.println("Class B1:static blocks"+i); } //非静态变量 int j=1; //静态语句块 static{ i++; Syst…
1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法:再执行本类继承的子类的初始化块,最后是子类的构造方法 4.类实例销毁时候,首先销毁子类部分,再销毁父类部分 public class Parent { public static int t = parentStaticMethod2(); { System.out.…
related URL: http://www.cnblogs.com/guoyuqiangf8/archive/2012/10/31/2748909.html Parent Class: package com.test.testclass; public class Parent { public static int t = parentStaticMethod2(); { System.out.println("Parent non-static block"); } stat…
CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body>结束时再加载 Js脚本作为程序,要求按顺序执行,而且是由主线程(单个线程)去执行的, 如果很JS脚本放在头部,就会导致浏览器无法以多线程的方式加载和渲染页面 浏览会等待所有JS一个接一个执行完毕后才继续往下加载 其结果是网页打开速度变慢! 从现在开始,对于自己的作品,自己代码要达到产品级的要求 点击后执行一…
简介 web.xml是web工程的配置文件,容器加载web工程时,会首先从WEB-INF中查询web.xml,并加载其中的配置信息,可以将web.xml认为是web工程的入口. web.xml中包含有welcome欢迎页面.servlet.servlet-mapping.filter.listener和启动加载级别等. web.xml加载顺序 容器读取工程的配置文件web.xml,读取<listener>和<context-param>两个节点. 容器创建ServletContex…
转载:https://www.cnblogs.com/writeLessDoMore/p/6935524.html web.xml加载过程(步骤):       1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将…
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 Servlet…