a) 什么是软件:是由一系列特定顺序组织的计算机数据和指令的集合
i. 软件的组成:
1. 程序:用计算机来解决问题的方法和步骤
2. 数据:就是程序加工和处理的对象
3. 文档:软件在生产过程中所产生一系列图文资料
b) 软件的分类:
i. 系统软件:就是一些操作系统
1. Dos(disk operating system),unix,windows,andriod,ios,linux
ii. 支撑软件:支撑一些软件的开发
1. C-free,eclipse,oracle,tomcat……
iii. 应用软件:
1. QQ,qq影音,亿图……
1. 命令行交互模式:就是一行一行命令
2. 界面交互模式:可以在界面上点的
3. 多媒体的交互方式:声音等
4. 脑电波交互方式:脑电波等
1. Dir
a) md
b) cd
c) rd
d) cd
e) cd ..
f) cd \
g) cls
h) exit
2. 一些快捷键和组合键的使用
a) Tab-制表符
b) Shift-上档键
c) Windows键
d) Ctrl
i. A:全选
ii. C:复制
iii. V:粘贴
iv. X:剪切
v. Z:撤销
vi. S:保存(不离手)
e) Windows和其他的键的组合使用
i. D:显示桌面
ii. R:打开运行程序
iii. E:打开我的电脑
iv. L:锁屏
f) 一些windows本机程序的使用:(先按windows + R键)
i. calc:计算器
ii. mspaint:打开画板
iii. mstsc:打开远程连接
iv. services.msc : 打开windows服务
v. regedit:打开注册表
vi. Winword : 打开word程序
vii. iexplore.exe : 打开IE浏览器
viii. notepad : 打开记事本
a) java之父--詹姆斯高斯林
关于詹姆斯.高斯林的资料
出生日期 | 1955年05月19日 |
---|---|
出生地 | 加拿大,阿尔伯塔省,卡加里市附近 |
居住地 | 美国,加州,旧金山湾区 |
国籍 | 加拿大 |
母校 | 卡内基梅陇大学,卡尔加里大学 |
职业 | 计算机科学家 |
知名于 | Java编程语言 |
奖项 | 加拿大勋章 |
James Gosling出生于加拿大,是一位计算机编程天才。在卡内基·梅隆大学攻读计算机博士学位时,他编写了多处理器版本的Unix操作系统。
1991年,在Sun公司工作期间,詹姆斯和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言,同时允许程序在电视机机顶盒等多平台上运行。后来,这项工作就演变为Java。随着互联网的普及,尤其是网景开发的网页浏览器的面世,Java成为全球最流行的开发语言。因此被人称作Java之父。
除Java外,他还开发过卫星数据获取系统,Unix的多处理器版本,若干编译器、邮件系统和视窗管理器,他还用C实现了Unix上的第一个类Emacs编辑器Gosling Emacs。
生平
在他12岁的时候,他已能设计电子游戏机,帮忙邻居修理收割机。
大学时期在天文系担任程式开发工读生。
1977年获得了加拿大卡尔加里大学计算机科学学士学位。
1981年开发在Unix上运行的Emacs类编辑器Gosling Emacs(以C语言编写,使用Mocklisp作为扩展语言)
1983年获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:"The Algebraic Manipulation of Constraints"(指导老师是名著《编程珠玑》一书的作者Jon Bentley)。
毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。
1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。
2000年,Java成为世界上最流行的电脑语言。
2009年4月,Sun被甲骨文公司并购。
2010年4月,詹姆斯宣布从甲骨文公司离职。
2011年3月29日,詹姆斯在个人博客上宣布将加入Google。
2011年8月30日,詹姆斯在其博客上宣布离开谷歌,加入开展海洋探测业务的机器人制造公司Liquid Robotics,任首席软件架构师。负责传感器软件开发和自主导航设计,数据中心海量数据处理。
在2011年5月建立的Scala公司Typesafe Inc.,詹姆斯被列为公司顾问。
荣誉
2002年:他被经济学人杂志授予发明奖。
2007年,他被授予二级加拿大勋章。
2013年,他当选为ACM Fellow。
小传(摘自SUN官方网站)
40年前,一个寒冷的冬天,在加拿大一个村庄里,Gosling家的第一个男孩哇哇落地了。家人给他起了名字,叫James。谁也没有想到的是,长大之后,他成为了一个改变计算机语言的天才。
James Gosling从小就喜欢技术,爱鼓捣东西。12岁的时候,他用报废的电话机和电视机中的部件做了一台电子游戏机。附近农民的康拜因(联合收割机)出了问题也常常找他修理。14岁的时候,中学组织到附近大学参观,他记住了大学计算中心的门锁密码,从此开始偷偷地溜进计算中心,学习计算机编程。一年后,大学的天文系招他当了一名临时编程员,编写计算机程序来分析卫星天文数据。
80年代初,James Gosling获得博士学位后到IBM工作,设计IBM第一代工作站。当时,IBM的领导层并不看重工作站项目。失望之余,James Gosling跳槽到了Sun公司。他花了五年功夫领导开发的和OS2很类似的Sun NeWs窗口系统,尽管得到技术界的好评,却未能变成流行的产品。当时他还第一个用C实现的EMACS的所见即所得文本编辑器COSMACS。
在当今这个竞争激烈的软件开发时代,软件设计师一直在试图预测未来软件或者技术的发展趋势。在1990年,Sun公司成立了一个软件设计团队,其中除了James Gosling,还有Patrick Naughton和Mike Sheridan等人,他们合作的项目称为“绿色计划”。他们认为计算机技术发展的一个趋势是数字家电之间的通讯。James开始负责为设备和用户之间的交流创建一种能够实现网络交互的语言。随着大量的时间和金钱投入到“绿色计划”,他们创建了一种语言。这种语言一开始被叫做“Oak”,这个名字得自于Gosling想名字时看到了窗外的一棵橡树。但后来被改为了“Java”。并于1992年9月3日开始应用于Sun工作站的远程遥控。
1994年底,James Gosling参加了在硅谷召开的“技术、教育和设计大会”。他报着试一试的心情向与会者演示了Java的功能。他点击了网页上的一个静止的分子结构图标,一条命令通过互联网送到了几百英里外的网站,下载了一段Java小程序,在本地工作站上开始执行。在几秒钟时间里,原本静止的网页上,一个分子图像以三维动画的方式转了起来。
“哇!”James Gosling听到了全场观众的赞叹声。
不久后,硅谷最大的报纸《圣荷西信使报》在头版刊登了一篇专文,“为什么Sun认为一杯热咖啡能让你鼓足精神”。从文章见报开始,负责Java市场人员的电话响个不停。不久,全美的主要报刊杂志都刊登了Java的报道。
Java出名了!
到了2000年,Java已经成为世界上最流行的电脑语言。绿色小组当初设计Java是为了面向数字家庭,支持各种家电设备。他们没有想到的是,Java支持的计算模式,实际上就是互联网的模式。
对于Java语言的巨大成功,没有人比James Gosling 更加谦逊:“我从来没有想到Java技术将会这么火。当我的老板问我它将达到多少次下载时,我说 10,000 次。而他认为我太过乐观了。”
甲骨文(Oracle)收购Sun公司
当詹姆斯领导他的团队,开发出Java语言和平台时,Sun正是一家如日中天的公司,而Java也被证明是一项革命性的技术。然而,财务问题最终拖垮了Sun。
2009年4月20日,全球最大的数据库软件商甲骨文公司宣布将以每股9.50美元,总计74亿美元现金的价格收购SUN微系统公司。如果不计Sun的现金及债务,该交易总额为价值约为56亿美元。
甲骨文斥资74亿美元收购Sun之后,同时获得了Java技术。在效力Sun多年之后,詹姆斯如今出任了甲骨文客户软件部门的CTO。在关于Java的创新方向、Java平台未来的问题上,詹姆斯也曾表示,“我们看中的并非Java语言,而是JVM”。 詹姆斯表示:“甲骨文将一直致力于保持Java和整个生态系统的强劲稳定。”他还说,升级版的Java Store即将推出。Java Store于去年进行试运行,旨在作为一个发现和购买Java和JavaFX程序的网络商店。
离职甲骨文
许多人认为甲骨文收购Sun是正确的做法,然而对詹姆斯来说,这是完全错误的。
詹姆斯开发了Java,因此外界认为他应当受到尊重。然而詹姆斯表示,他从甲骨文得到的反应是完全相反的。在接受采访时,詹姆斯谈论了他离开甲骨文的原因,以及他认为甲骨文将把Java引向何方。
薪酬引发不满
2010年4月,詹姆斯在博客中撰文,宣布从甲骨文辞职。他当时表示:“关于我离开的原因,这个问题很难说清。我所能提供的任何准确及诚实的信息都将带来危害,而不是帮助。”詹姆斯此次接受采访时谈到了更多细节。他表示,甲骨文藐视Sun的关键员工,将Sun原本制定项目和战略完全推翻。
詹姆斯表示:“导致我离开甲骨文的原因有很多。我的薪水也是因素之一。当我从他们那里拿到我的薪酬合同时,我试图在W-2表格中看看我的薪酬究竟是怎样。然而这让我震惊。他们只是从Sun复制了我的基本薪酬。”此前,Sun的所有副总裁及以上级别管理人员都拥有与绩效挂钩的奖励。
詹姆斯指出:“如果我希望继续在甲骨文工作,那么我必须接受大幅降薪。”甲骨文一名发言人表示,该公司不会对詹姆斯的说法置评。
不过这还不是全部的原因。实际上,即使存在这样的困难,詹姆斯也决定继续在甲骨文工作。然而根据詹姆斯的说法,他遇到了另一个麻烦,即甲骨文内部没有高级工程师这样的职位,以对应詹姆斯原本在Sun的级别。詹姆斯表示:“在我的薪酬合同上,他们大幅下调了我的级别。”
Sun高管被架空
然而这也不是导致詹姆斯离开的最终原因。詹姆斯表示,甲骨文试图控制他。甲骨文收购了Sun,因此获得了Java,他们也拥有了Java的开发者及知识产权。因此,甲骨文希望决定詹姆斯及其他人对Java的态度。
詹姆斯表示:“在甲骨文,我能决定的事情微乎其微。甲骨文是一家极度重视细节管理的公司。因此我和Java方面的同事无权决定任何事。我们的决策权不复存在。”
这导致詹姆斯在甲骨文的工作如同鸡肋。詹姆斯表示:“我的工作看起来就是登上舞台,成为为甲骨文服务的Java代言人。我不适合做这样的工作。”这一问题导致双方的关系最终破裂。詹姆斯表示,甲骨文在道德上带来挑战,而他本人已经受够了,因此决定不再为甲骨文工作。
更倾向×××IBM
对于他是否希望Sun被IBM,而不是甲骨文收购时,詹姆斯表示,他与Sun董事长斯科特·麦克尼利(Scott McNealy)进行了激烈的争论。麦克尼利拿出了最终意见:尽管甲骨文可能更粗鲁,但IBM会进行更多的裁员。
记录显示,近年来IBM往往在收购后进行大规模裁员。在考虑了这一因素之后,Sun管理层决定推动与甲骨文的交易。詹姆斯表示,在宣布甲骨文和Sun合并之前,Sun已经进行了数轮裁员。
然而对詹姆斯本人而言,他更倾向于IBM,因为IBM往往给予技术型人才更多报酬。例如,当IBM收购Rational Software时,该公司发现了Rational首席科学家、UML语言联合开发者格雷迪·布切(Grady Booch)的价值,并任命他为IBM技术委员。尽管布切常常在台前高谈阔论,但他仍然是IBM软件集团及研发部门之间的关键纽带,并且积极从事创新工作。如果Sun被IBM收购,詹姆斯或许也将享受同样的待遇。
詹姆斯提到的细节管理问题在IBM内部或许也不存在。詹姆斯表示,他感到甲骨文CEO拉里·埃里森(Larry Ellison)几乎完全掌控了与Java相关的决策。很明显,IBM董事长兼CEO彭明盛(Sam Palmisano)不会干预被收购产品未来的运作,即使是像Sun这样的重大收购。然而,甲骨文和IBM之间存在很大区别。
权力结构问题
詹姆斯认为,埃里森与体育大亨、美式橄榄球大联盟奥克兰突袭者队老板阿尔·戴维斯(Al Davis)类似。后者不断的聘请教练,并在选秀中招揽青年才俊,只是为了凸显他自己。不过与甲骨文不同,戴维斯和奥克兰突袭者队距离最终的成功还很远。
詹姆斯表示,尽管他并没有直接与埃里森打交道,然而埃里森“是令人毛骨悚然的人”。他表示:“Sun的所有高级管理人员都获得了巧妙的补偿。他们的职位保持不变,但他们失去了进行决策的能力。”
詹姆斯表示,令人毛骨悚然的不仅是埃里森本人,还包括甲骨文的权力结构。他表示,Sun当时计划租下位于加州圣克拉拉的Great America游乐场,让Sun的员工放松一天。麦克尼利和Sun CEO乔纳桑·施瓦茨(Jonathan Schwartz)已签字同意这一活动并拨出预算。然而在活动之前的几天,甲骨文联席总裁萨弗拉·卡兹(Safra Catz)得知了这一消息,并对其大肆×××。
詹姆斯表示:“卡兹得知这一消息后大发雷霆。她表示甲骨文从没有过这种员工答谢活动,因此她迫使Sun取消这一活动。然而,这并没有节约任何费用,因为费用已经花出去了。因此,最终我们只能将门票捐给慈善机构。我们被迫放弃只是因为这么做不是‘甲骨文的方式’。但另一方面,甲骨文却拿出2亿美元赞助一条帆船。”
不看好甲骨文起诉谷歌
麦克尼利对甲骨文“粗鲁”的评价随后也得到体现。詹姆斯表示,他们早已料到甲骨文会就Android系统使用Java的问题对谷歌提起诉讼。他在4月份的博客文章中还表示,当Sun谈到Java当前的专利情况时,甲骨文的律师两眼放光。詹姆斯表示,无论这起诉讼最终的结果怎样,他都不会认为谷歌是蓄意这样做的。
对于谷歌,詹姆斯表示:“我们对他们所做的工作,以及工作的方式印象深刻。但是打官司的代价总是非常昂贵的,不仅仅是钱,也包括公司高管花费的时间。美国政府与微软之间的官司几乎浪费了我整整一年时间。”
詹姆斯还表示:“谷歌在公共关系方面有着光环,是全世界的宠儿。”他表示,起诉这样一家公司是Sun不会去做的。詹姆斯此前曾在另一篇博客文章中谈到Sun如何处理与Android之间的关系。
尽管已经离开甲骨文,但詹姆斯表示他并不关心Java在甲骨文领导下的命运。他表示:“我不是非常关心甲骨文领导下的Java,因为Java已经获得了自己的生命。甲骨文可以做的破坏性工作很少,因为他们的业务非常依赖Java。善待Java符合他们的利益。”不过詹姆斯认为,Java近期的发展可能会面临一些障碍,因为甲骨文“非常傲慢”。
Tasktop Technologies CEO米克·科尔斯滕(Mik Kersten)表示:“外界对于Java作为一个平台的命运感到担忧。对于在这一平台上进行开发的企业和机构来说,令人欣慰之处在于Java的规模很大,已经超越任何一家单独的厂商。”
×××Liquid Robotics公司
2011年8月31日消息,据国外媒体报道,被称为“Java之父”的James Gosling已经离开谷歌,并×××机器人设计制造公司Liquid Robotics,担任该公司的首席软件架构师。在一份声明中,詹姆斯表示:“Liquid Robotics公司目前正在开发一项前沿技术,对全球的发展有深远的影响,这点让我非常着迷。”Liquid Robotics公司自成立以来,已经募集了4000万美元的资金,包括今年6月筹集的2200万美元。
作为未来Liquid Robotics的首席软件架构师,詹姆斯将致力于板载传感器软件开发和自主导航设计,数据中心海量数据处理。该公司现有系统已经开发完毕,但詹姆斯认为还存在各种各样的漏洞,这是一件很有趣的事情。
该公司制造了一种名为“Wave Glider”的新型海上船只,它能够利用海水的上下浮动力来驱动船只前进。此外,操作者可使用互联网连接设备,并通过卫星对这种船只进行远程操作。今年夏季,英国石油公司(BP)就部署了两艘Wave Glider船,用以监测该公司墨西哥湾漏油的情况。
b) Java V1.0 1996-01-23发行 (代号Oak)
c) Java V1.5 2004-09-30发行 (代号Tiger)
d) Java V1.6 2006-12-11发行 (代号Mustang)
e) Java V1.7 2011-07-28发行 (代号Dolphin)
f) Java V1.8 2014-03-18发行(代号Spider)
g) Java V1.9 2017-9-21发布
iii. Java的配置
c) Notepad++\ue
d) 重量级编程工具
i. Eclipse:免费的
ii. Myeclipse:收费的,但是破解工具
iii. Intellij IDEA:收费的
iv. Jbuilder : 收费的
关键字
Java数据类型
5:
0000 0101 首个0是符号位
0000 0101
0000 0101
-5:
1000 0101
1111 1010
1111 1011
运算符
程序的流程
iv. 注意
ii. 直到型循环
b) for
i. 次数型循环:可以规定一些循环次数
ii. 格式:for ( //变量的定义和初始化 ;//条件表达式 ; 变量的自增和自减 ){ //循环体 }
iii. 打印等腰三角形
c) 猜字游戏:
i.
方法
修饰符:private ,默认,protected ,public
返回值类型:void 或者 11种类型
方法的名称的命名规范:一个单词组成全部小写,多个单词组成第二个单词开始首字母大写(驼峰命名法)
参数序列:可以传入多个参数。格式:数据类型 【标识符】
h) 数组练习的开胃小菜
i.
ii. 数组求和,数组求奇数的和,求偶数的和,将是3的倍数的元素角标打印出来。
iii. 数组的翻转
iv. 两个一维数组的比较:
v. 统计数组里的数字出现的次数
iv. 对象的内存演示
vi. 成员变量和局部变量
static 关键字
一些系统类的使用
弊端:无法调用子类自己独有的方法
比如:Animal cat = new Cat();
但是这个cat就无法调用自己特有的方法了catchMouse();
因此我们需要引入强制类型转换,将类型向下转换才能调用特有方法
Cat cat1 = (Cat)cat;
cat1.catchMouse();
Package
对象创建的设计模式
一些成员方法的使用
UUID类
随机生成的一个36位字母和数字随机组合的一个UUID对象
用途:可以用于标识人的唯一号或者其他需要唯一标识的数据。
异常
e) 字符流
i. 文本里写入内容
ii. 文本的读取
iii. 练习:文件的拷贝
f) 总结:
i. 适用于操作一些纯文本数据
线程的安全性问题
小练习:申明一个集合,申明这个集合只能存储Person类型的对象,然后用迭代器方法遍历
Map映射集合
JDBC
数据库连接池技术
C3p0连接池
数据库总结
package cn.com.hkr.test;
import static org.junit.Assert.*;
import org.junit.Test;
import cn.com.hkr.goods.user.domain.User;
import cn.com.hkr.goods.user.service.UserService;
public class UserTest {br/>@Test
public void loginTest(){
/*
*/
//模拟前端传入的正确的数据
String username = "jason";
String password = "admin";
User foruser = new User();
foruser.setLoginname(username);
foruser.setLoginpass(password);
//将对象传入业务逻辑处理层,然后观察返回的数据是否空即可
UserService service = new UserService();
User user = service.login(foruser);
assertNotNull(user);
}
@Test
public void loginTest1(){
/*
*/
//模拟前端传入的正确的数据
String username = "jason";
String password = "root";
User foruser = new User();
foruser.setLoginname(username);
foruser.setLoginpass(password);
//将对象传入业务逻辑处理层,然后观察返回的数据是否空即可
UserService service = new UserService();
User user = service.login(foruser);
assertNull(user);
}
@Test(timeout=2000)
public void run(){
String username = "def";
String password = "def";
User formuser = new User();
formuser.setLoginname(username);
formuser.setLoginpass(password);
UserService service = new UserService();
User login = service.login(formuser);
assertFalse(login.isStatus());
}
}
转载于:https://blog.51cto.com/lyinginsun/2154808