1 工具常用的快捷键
  1)
Eclipse和MyEclipse,IBM,2001,Java编写,开源,跨平台跨语言
  2)Alt+/快速内容提示(自己习惯定义)
  3)Ctrl+1快速修补错误
 
4)Syso+Alt+/快速显示System.out.println()语句 
  5)Ctrl+Shift+F快速排版正确代码
  6)Ctrl+Shift+X转大写,Ctrl+Shift+Y转小写
  7)Ctrl+Shift+O一次性导入多个包
  8)Ctrl+/加或减单行注释
  9)
Ctrl+Shift+/加多行注释,Ctrl+Shift+\取消多行注释
 10) 选中行+Alt+上下光标键移动行

2 使用断点调试程序,使用Junit测试程序
  1)通过断点方式调式程序的每个步骤  
  2)Step over查看代码粗粒度执行过程
  3)Step into查看代码细粒度执行过程
  4)@Before和@After会在@Test方法执行前后各执行一次
  5)@BeforeClass和@AfterClass是在类前后各执行一次
  
*3 静态导入和自动装拆箱
  1)静态导入可以导入对象,属性,方法,*
  2)语法:
import static java.lang.Math.PI;
import static java.lang.Math.pow;
import static java.lang.System.out;
  3)在JDK5中,编译器自动将基本类型和对应的包装类型,自动转换
 
例如:int<->Integer

*4 增强for循环(foreach)
  1)循环迭代数组/List/Set/Map集合
     List:
 List list = new ArrayList();
list.add("jack");
list.add("marry");
list.add("sisi");
for(String name : list){
System.out.print(name+"\t");
}
     Set:
  Set set = new HashSet();
set.add(100);
set.add(200);
set.add(300);
Iterator it = set.iterator();//Iterator为迭代器
while(it.hasNext()){
Integer key = it.next();
System.out.print(key+"\t");
}
  2)对Map集合的二种迭代方式:
a)keySet()
     
     Map map =
new HashMap(); 
 map.put(100,"jack"); 
 map.put(200,"marry"); 
 map.put(300,"sisi"); 
 Set set = map.keySet();
 Iterator it =
set.iterator(); 
 while(it.hasNext()){ 
 Integer key = it.next();
  String value =
map.get(key); 
  System.out.println(key+"-"+value); }
b)entrySet()
Map map = new HashMap(); 
 map.put(100,"jack"); 
 map.put(200,"marry"); 
 map.put(300,"sisi"); 
 Set> set = map.entrySet();
Iterator> it =
set.iterator();
 while(it.hasNext()){ 
Entry entry = it.next();
  Integer key =
entry.getKey();
  String value =
entry.getValue();
System.out.println(key+"<->"+value);}
 
3)在迭代集合时,一定要动态通知Iterator,而不要动态通知List集合,应选用ListIterator。
ListIterator it = list.listIterator();
*5 可变参数
  1)参数的个数不确定的
  2)可变参数只能放置在参数的最后,即最右边
  3)可变参数最少0个,最多1个
  4)编译器将可变参数当作一个一维数组来对待

*6 枚举
  1)当取值是某范围中的之一,这时可以使用枚举
  2)当向用户提示严重的错误时,尽可以使用抛异常的方式通知客户端
  3)可以对枚举在运行时验证 
  4)可以对枚举在编译时验证
  5)枚举值相当于实例变量 
 
6)枚举类与普通一致,可以继承或实现,如果有抽像方法的话,可以利用每个枚举值以匿名内部类的方式去实现
  7)枚举值可以用在switch()语句中
  8)枚举类常用方法如下:
a)name():显示枚举值
b)ordinal():显示枚举值对应的索引,从0开始
c)values():取得该枚举类对应的所有枚举值,是一个数组
d)valueOf():判段某个字符串是否属性枚举值之一

*7 反射
  1)解析一个类的各个部分,形成一个对象。
 
2)外存中的类,加载到内存中,会形成该对象的Class类,例如:String类,加载到内存中,就是StringClass对象。
  3)使用不同的方式,取得同一个类型的字节码对象Class是相同的。
     
类名.class Class c1 = String.class;
 
     
对象.getClass()   Class c2 =
new String().getClass();
     
  Class.forName() Class c3 =
Class.forName("java.lang.String");
  4)通过getXxxxx()只能取得该类public的类型
   
通过getDeclaredXxxxxx()可以取得该类非public的类型
   
设置非public类型的可访问性,默认为false,不可访问
     
c.setAccessible(true); 
  5)反射可以反射private/public的构造方法,字段,普通方法
  6)在反射main方法时,编译器会将数组自动拆分,取第一个值
    解决方案:
//m.invoke(null,(Object)new
String[]{"A","B","C","D"});,将数组当作对象,此时编译器不进行拆分
m.invoke(null,new Object[]{new
String[]{"A1","B1","C1","D1"}});在数组中嵌入另一个数组

 7.总步骤
   
①取得Person类对应的字节码对象Class
    Class clazz =
Class.forName("cn.itcast.java.reflect.Person");
    ②取得该类的唯一构造方法
     
//Constructor c  =
clazz.getConstructor(null);
   
 //Constructor c =
clazz.getConstructor(String.class,int.class);
     
Constructor c = clazz.getDeclaredConstructor(null);
   
 ③创建实例
//Person p = (Person) c.newInstance(null);
     
  //Person p = (Person)
c.newInstance("berry",10);
     ④
设置非public成员的访问性,默认false即不可访问性
     
   c.setAccessible(true);
   
 ⑤ 执行方法
 p.show();

JAVA-WEB总结01的更多相关文章

  1. 【jframe】Java Web应用程序框架 - 第01篇:Get Started

    jframe是什么? jframe是一个基于MIT协议开源的java web应用程序框架,汇聚了我们团队之于java web应用程序的核心架构思想以及大量最佳实践,并且持续在实际项目中不断完善优化. ...

  2. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第6章.蜂巢

    第6章--蜂巢 蜂巢简介 网站开发完,就需要测试.部署.在服务器上运行. 网易蜂巢: 采用Docker容器化技术的云计算平台 https://c.163.com 容器管理:容器可被视作为云主机的服务器 ...

  3. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第4章.Maven

    第4章--Maven Maven实战 Java Web应用的部署: 手动式: 编译:javac -cp $CATALINA_HOME/lib/servlet-api.jar web-inf/class ...

  4. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第3章.Tomcat

    第3章--Tomcat Tomcat安装与运行 Tomcat:目前最常用的基于java的web应用服务器 本课程中所有的Java代码最终都需要部署到Tomcat中运行 Tomcat的配置文件是XML的 ...

  5. [原创]java WEB学习笔记01:javaWeb之tomcat的安装和配置

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  6. java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

  7. Java Web开发中MVC设计模式简介

    一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...

  8. 【原创】三分钟教你学会MVC框架——基于java web开发(2)

    没想到我的上一篇博客有这么多人看,还有几位看完之后给我留言加油,不胜感激,备受鼓励,啥都别说了,继续系列文章之第二篇.(如果没看过我第一篇博客的朋友,可以到我的主页上先浏览完再看这篇文章,以免上下文对 ...

  9. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

  10. java web(四)文件上传与下载

     一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...

随机推荐

  1. OSP 与 Session

    大家都知道,OSP是不支持session的,换句话说,登录有效期是永久的.一般网站,如果你不操作一段时间以后,必须重新登录.osp不是这样的,你一旦登录后,即便服务器重启了,你依然能访问服务器并不需要 ...

  2. LIS与LCS的nlogn解法

    LIS(nlogn) #include<iostream> #include<cstdio> using namespace std; ; int a[maxn]; int n ...

  3. poj2528(线段树区间替换&离散化)

    题目链接: http://poj.org/problem?id=2528 题意: 第一行输入一个 t 表 t 组输入, 对于每组输入: 第一行  n 表接下来有 n 行形如 l, r 的输入, 表在区 ...

  4. 2014-11-2 NOIP模拟赛1

    Noip2009 团结模拟赛如题目理解困难,请自行阅读或参考样例.内存限制均为 256MB,时间限制均为 1s.出题人不会 故意 在题目中设置陷阱,但请自己注意程序的正确性.IO 文件名(.in/.o ...

  5. HTTPRunner实践二——参数化之生成UUID

    接口测试中,需要使用到UUID,用来生成唯一ID. 1.什么是UUID UUID是128位的全局唯一标识符,通常由32字节的字符串表示.它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID ...

  6. 如何在VMware workstation上创建Linux虚拟机

    由于需要使用Linux虚拟机部署Hadoop集群,故在win10系统上安装了VMware workstation 14,现将介绍如何在VMware workstation上创建Linux虚拟机.下面以 ...

  7. python 之 软件开发目录规范 、logging模块

    6.4 软件开发目录规范 软件(例如:ATM)目录应该包含: 文件名 存放 备注 bin start.py,用于起动程序   core src.py,程序核心功能代码   conf settings. ...

  8. Oracle树查询总结

    最近在做公司的项目中遇到一个问题,多级级联导航菜单,虽然只有三级目录,但<li>中嵌套<ul>,数据库表结构如下: CREATE TABLE FLFL ( ID NUMBER ...

  9. RabbitMQ下载安装教程 Windows10

    https://blog.csdn.net/weixin_39735923/article/details/79288578

  10. mysql错误之errorcode 1215问题

    1.此类问题出现时我们往往会迫不及待的去百度,但是问题偶尔也不是我们想的那样,比如我本次犯下的错误如下: 上图是我给表添加外键约束的时候的sql.下图是我建的表,问题出哪里了?原来是我的数据库根本没有 ...