Java学习笔记

Java基础知识:
初级:1、java(面向对象、集合、界面、线程、文件、网络)
2、jdbc(java数据库编程)
3、oracle\mysql\sqlserver 4、html\css\javascript
中级:1、xml\servlet\jsp
高级:1、三大框架(ssh)
1、成员变量和局部变量的区别:1:成员变量(类变量):包括静态变量和实例变量,直接定义在类中。局部变量定义在方法中,参数上,语句中。 2:成员变量在这个类中有效。  局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。 3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。  局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
2、封 装(面向对象特征之一):是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
3、public:可以认为没有限制访问 defualt:同一个包中可访问(类中不写默认为此修饰符)
protect:本类以及所有子类可访问 private:本类内可访问。
4、final特点:  1:这个关键字是一个修饰符,可以修饰类,方法,变量。 2:被final修饰的类是一个最终类,不可以被继承。  3:被final修饰的方法是一个最终方法,不可以被覆盖。 4:被final修饰的变量是一个常量,只能赋值一次。
5、抽象类不能实例化;抽象类可以不包含抽象方法;子类继承抽象类,必须实现父类(抽象类)的抽象方法;抽象方法不能有主体,(例:public abstract void method(););抽象类中可以有已实现的方法。
6、接口定义: interface sub{};实现借口:class camera implements sub{};当一个类实现了一个接口,要求该类把接口的方法统统实现;接口不能被实例化,接口中的所有方法都不能有主体;一个类可以实现多个接口;接口中可以有变量,但不能用private和protected修饰,本质上都是static和final类;可以将共享数据放在接口中;接口不能继承类,但可以继承别的接口;
7、集合类结构list、set、map、queue,放在util包中。
常见java集合类:arraylist、hashmap、hashtable、vector、stack、linkedlist;
arraylist linjedlist:
加入数据(object型)到集合中,用add()方法; 
访问集合中的数据用get()方法,括号中数字从0开始;集合的大小用size()方法;
删除集合中的数据用remove()方法;、
8、
hashmap 键(key)——值,不允许key重复。
加入数据(object型)到集合中,用put()方法,加入相同键值会覆盖原先有的; 
hashmap遍历:Iterator it=hm.keyset().iterator();
while(it.hasnext())
{
  String key=it.next().toString();
  Emp emp=(Emp)hm.get(key);//Emp为某个类;
}
加入数据(object型)到集合中,用put()方法; 
访问集合中的数据用get(key)方法,集合的大小用size()方法;
删除集合中的数据用remove()方法;
查找用containskey(键值)方法;
9、控制台输入
import java.io.*;
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int i=integer.parseInt(br.readline());
10、javac编译带打包命令的Java文件时,命令格式如下:javac -d.firstjava.java
部署servelt到web.xml文件
10、对servlet(web服务器小程序)进行映射的时候,可以使用通配符/*、*.do(*号表示字符串)(访问未知页面);*.do的优先级最低;
两种通配符
第一种 *.do 如:ss.do、/adc.do
第二种 以/开头,以/*结束 如:/*、/adfdsg/*(*号表示字符串)
11、同步机制synchronized(this){同步代码}
12、<load-on-startup>配置指定某个servlet定时实现:(定时发送邮件)(创建线程完成本功能)
对init()进行重写,完成初始化任务;
13、servletconfig对象:获取servlet的配置信息
单个参数时:string encoding=this.getservletconfig.getinitparameter("encoding");
参数有多个时:
Enumeation<string> names=this.getserveltconfig().getinitparameternames();
while(names.hasmoreelements())
{
  string name=names.nextelement();
  system.out.ptintln(this.getservletconfig.getinitparameter(name));
}
14、标记语言发展历程 HTML>XHTML>XML
15、http协议:是建立在tcp/ip协议基础之上,有1.0短连接(保持连接持续时间短),1.1长连接(通用)
基本结构:1、请求行;2、消息头(消息名:消息内容;不是每一次请求,消息头内容都一样);空行 3、发送的内容;
16、html元素:字符实体(版权:&copy);
超链接:
<a href="" target="_blank(新开一个页面;_self(在原页里面替换)"></a>
<a href="mailto:1835450808@qq.com">发电子邮件</a>
<img src="" border=1-5(设置边框) bordercolor="设置边框颜色"/> css样式 img{filter:gray;}使图片变黑白
表格:显示数据和图片、布局<table width="100%占满整个屏幕" border="0" align="自个居中" cellspacing="单元格空隙大小" cellpadding="单元格中的内容被填充,撑大了单元格">
<tr><th 表头字体加黑 valign="top、bottom内容向上向下"></th></tr>
<tr><td></td></tr></table>
17、无序列表<ul type="disc、circle、square"><li></li></ul>
    有序列表<ol type="1、a、A、i、I" start="3"><li></li></ol>
18、元素框架:不能写body元素
<frameset frameborder="0" cols="各窗口百分比分隔;30%、20%、50%" rows="按行的百分比分隔">
<frame src="需要合并的页面" noresize(不许拖曳)/>
<frame src="需要合并的页面" name="frame的名字"/>
</framset>
19、表单元素:让用输入数据,提交给服务器;
    <form action="" method="get/post"></form>
    1、<input type="image(图片按钮)、text、hidden、checkbox、radio、button、file等"/>t
复选框 <input type="checkbox" name="v1" value="值不能为汉字">西瓜<br/>
       <input type="checkbox" name="v1">苹果<br/>
单选按钮<input type="radio" name="sex">男<br/>
       <input type="radio" name="sex">女<br/>
    2、<select size="一次展现几个" multiple(多选)>//下拉列表
    <option value="">---请选择---</option>
    <option value="beijing">北京</option>
    <option value="shanghai">上海</option>
    </select>
    3、文本域<textarea cols="30" rows="10">请在这里输入</textarea>
    4、上传文件<input type="file" name="myfile">
20、<body link="超链接的颜色" text="文本的颜色" leftmargin=# topmargin=#>
    <hr width="" height="" 拉一条线>
21、会移动的文字/图片<marquee direction="right" behavior="怎么走"><img src=""/></marquee>
22、border:1px solid red 像素为1 实线 红色
23、线程:
1、继承thread类,并重写run方法,start()调用run()方法
2、实现runnable接口,并重写run方法(实线runnable时 thread td=new thread(实现runnable的类) td.start());
24、css选择器:1、类选择器;2、id选择器;3、html元素选择器;4、通配符选择器;5、父子选择器(一般不要超过3层)
1、类选择器名 .{属性名:属性值;属性名:属性值;} 引用方式class="类选择器名"
2、id选择器名 #{属性名:属性值;属性名:属性值;} 引用方式id="id选择器名"
3、html元素选择器:body{属性名:属性值;属性名:属性值;}
4、优先级:id选择器>类选择器>html元素选择器>通配符选择器
5、class="style1 style2":两个类选择器之间以空格隔开,当类选择器出现冲突时,在css文件中,那个style写在后面,就以哪个style为准;id选择器只能指定一个,类选择器可以指定多个;通配符选择器指定所有元素的样式,因此可以指定一些常规的样式;可以将选择器中共同的部分提出写在一起,简化css文件;
25、response的两个方法getwriter()、getoutputstream()再调用getbytes()方法输出数据:printwriter:输出字符数据;outputstream输出字节数据。两者不能同时使用
26、传递参数:三种方法;
1、static变量:不建议使用这种方法
2、response.sentredirect("/ServletExam/Exam_1?username="+username+"&password="+password);传递多个参数用地址符&隔开,不能传递对象。
3、session(可以传递对象):request.getsession().setattribute("username",username) string uname=(string)request.getsession().getattribute("username")
27、通配符选择器:*{margin:0px;padding:0px}设置外边距和内边距都为零;
28、传递数据三种方式:用户和服务器交互,出现乱码
1、表单form:1、post方式:request.setcharacterencoding("utf-8");
             2、get方式解决乱码:string username=new string(request.getparameter("username").getbytes("iso-8859-1"),"utf-8");可以新写一个类,定义一个静态方法,返回username;
2、超链接:<a href="www.baidu.com?name=查敏"></a>;处理方式和get提交一样
3、重定向:sendredirect();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值