C#/.NET转Java学习笔记
2015-05-21 20:35
381 查看
大学研究了三年的.Net,由于偶然的机会,拿到IBM的Java web实习offer,所以决定转行搞Java(综合了校招情况、发展前景和其他各种因素)。
下面是我在学习Java web的一些学习笔记(可能会比较乱,希望能做个备忘,如果能对您有帮助那就更好了)
Servlet生命周期分为三个阶段:
1,初始化阶段:调用init()方法
2,响应客户请求阶段:调用service()方法
Service()方法内部对请求的类型(get/post)进行了判断,自动调用doPost/doGet
3,终止阶段:调用destroy()方法
2.Servlet的单例多线程:
单例:Servlet只在用户第一次请求时被实例化,并且是单例的,在服务器重启或关闭时才会被销毁。
多线程:当请求到达时,Servlet容器(Tomcat...)通过线程池中可用的线程给请求者并执行Service方法。
线程创建的两种方法:
第一种,实现Runnable接口
第二种,继承Thread类
线程的同步
使用同步锁synchronized,参见卖票程序。同步的对象必须是同一个对象。
2.IO流
四大流:
InputStream、OutputStream 用于任意对象(二进制格式)
Writer、Reader 用于字符对象(字符格式)
使用示例:
3.集合类
![](http://images0.cnblogs.com/blog2015/694841/201505/161723438604541.png)
当一个JSP文件第一次被请求的时候,Tomcat首先会把这个JSP文件转换成一个Java源文件。在转换过程中如果发现JSP文件有语法错误,转换过程将中断,并向服务端和客户端输出出错信息。如果转换成功,Tomcat用javac把该Java源文件编译成相应的.class文件并将该.class文件加载到内存中。(通过查看原文件,可知jsp最终也是转化被成Servlet,.java就是一个Servlet)
2.jsp九大内置对象?
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性
session 与请求有关的会话信息
application
out 用来传送回应的输出
config 存取servlet实例的初始化参数
page
exception
3.JSTL标签
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect
4.EL表达式
下面是我在学习Java web的一些学习笔记(可能会比较乱,希望能做个备忘,如果能对您有帮助那就更好了)
Servlet相关--------------------------
1.Servlet的生命周期:Servlet生命周期分为三个阶段:
1,初始化阶段:调用init()方法
2,响应客户请求阶段:调用service()方法
Service()方法内部对请求的类型(get/post)进行了判断,自动调用doPost/doGet
3,终止阶段:调用destroy()方法
2.Servlet的单例多线程:
单例:Servlet只在用户第一次请求时被实例化,并且是单例的,在服务器重启或关闭时才会被销毁。
多线程:当请求到达时,Servlet容器(Tomcat...)通过线程池中可用的线程给请求者并执行Service方法。
Java基础相关-----------------------
1.多线程线程创建的两种方法:
第一种,实现Runnable接口
package test.Thread; import org.junit.Test; //This example shows the two method to create new thread.The java file "MyThread" shows the other method. public class NewThread{ @Test public void Fun(){ RunnableThread rt = new RunnableThread(); Thread t1 = new Thread(rt,"First"); Thread t2 = new Thread(rt,"Second"); t1.start(); t2.start(); } } class RunnableThread implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<100;i++){ System.out.println(Thread.currentThread().getName()); } } }
第二种,继承Thread类
package test.Thread; public class MyThread extends Thread{ //The constructor without parameter public MyThread(){ } //The constructor with name parameter public MyThread(String name){ super(name); } public void run(){ for(int i=0;i<100;i++){ System.out.println(this.getName()); } } }
线程的同步
使用同步锁synchronized,参见卖票程序。同步的对象必须是同一个对象。
package test.Thread; import org.junit.Test; public class Thread_Synchronized { public static void main(String[] args){ SynchronizedRunnableThread srt = new SynchronizedRunnableThread(); Thread t1 = new Thread(srt,"window1"); Thread t2 = new Thread(srt,"window2"); Thread t3 = new Thread(srt,"window3"); t1.start(); t2.start(); t3.start(); } } class SynchronizedRunnableThread implements Runnable{ private static int tickets=100; @Override public void run() { while(true){ //We can use the definition of class,because it's unique /* synchronized(this){ if(tickets>0){ System.out.println(Thread.currentThread().getName()+" is selling the "+(tickets--)+"th ticket"); } } */ //or we can use the other method--synchronized method sellTickets(); } } private synchronized void sellTickets() { if(tickets>0){ System.out.println(Thread.currentThread().getName()+" is selling the "+(tickets--)+"th ticket"); } } }
2.IO流
四大流:
InputStream、OutputStream 用于任意对象(二进制格式)
Writer、Reader 用于字符对象(字符格式)
使用示例:
package test.Stream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; public class FileInputStream_FileOutputStream { public static void main(String[] args) throws Exception{ //The difference of "FileInputStream" and "FileReader" is that "FileInputStream" read the file with byte, //but "FileReader" read with Unicode,in other words,"FileReader" can read Chinese word. FileInputStream is = new FileInputStream("D:\\read.txt"); FileOutputStream os =new FileOutputStream("D:\\FileOutputStream.txt"); int ch = is.read(); while(ch!=-1){ os.write(ch); System.out.print((char)ch); ch = is.read(); } os.flush(); os.close(); is.close(); } }
package test.Stream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; public class FileReader_FileWriter { public static void main(String[] args) throws Exception{ FileReader fr = new FileReader("D:\\read.txt"); FileWriter fw =new FileWriter("D:\\write.txt"); int ch = fr.read(); while(ch!=-1){ fw.write(ch); ch = fr.read(); } fw.flush(); fw.close(); fr.close(); } }
3.集合类
![](http://images0.cnblogs.com/blog2015/694841/201505/161723438604541.png)
jsp相关-----------------------------
1.jsp工作原理:当一个JSP文件第一次被请求的时候,Tomcat首先会把这个JSP文件转换成一个Java源文件。在转换过程中如果发现JSP文件有语法错误,转换过程将中断,并向服务端和客户端输出出错信息。如果转换成功,Tomcat用javac把该Java源文件编译成相应的.class文件并将该.class文件加载到内存中。(通过查看原文件,可知jsp最终也是转化被成Servlet,.java就是一个Servlet)
2.jsp九大内置对象?
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性
session 与请求有关的会话信息
application
out 用来传送回应的输出
config 存取servlet实例的初始化参数
page
exception
3.JSTL标签
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect
4.EL表达式
![](http://images0.cnblogs.com/blog2015/694841/201505/191000386829598.png)
相关文章推荐
- 黑马程序员之asp.net学习笔记:巧用C#做中间语言 实现java调用.net
- 黑马程序员之C#学习笔记:ADO.NET入门级材料
- lucene.Net--学习笔记(3)---C#'网络爬虫' 源码详解
- 黑马程序员之ASP.NET学习笔记:.NET,ASP.NET,C#,VisualStudio之间的关系是什么?
- .NET/Dot Net学习笔记---.net理解,C#.net的基本类型,字符串转义字符处理..
- C#学习笔记(六)-使用ADO .NET查询和操作数据库
- Asp.Net--DropDownList与DataTable数据绑定的方法(C#)[学习笔记]
- C# .net asp学习笔记
- 关于c#.net 正则表达式 学习笔记
- Java学习笔记1------c#和Java的区别
- C#学习笔记一——对.netFramework的理解
- C#2005 .NET3.0高级编程学习笔记———.NET体系结构
- ASP.Net C#学习笔记 一
- C#学习笔记之五(ADO.net)
- C#学习笔记之五(ADO.net)
- 我的C# asp.net 学习笔记
- C#.NET学习笔记---C#中方法覆盖时override和new的比较,abstract和virtual的比较(含C#多态的实现)
- C#.NET学习笔记---C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
- C#.NET学习笔记---C#中类的修饰符,this关键字和static关键字
- C#.NET学习笔记---C#中的条件编译