书记_《Java程序员,上班那点事》

时间:2020-12-26 04:11:44
1、Java程序员三重境界:程序员:侧重技术的深度;项目经理:侧重技术的广度;部门经理:侧重市场研发能力。
2、工作经验的本质是技术和能力(技术的深度、精度和创造价值的能力)。
3、开展工作:公司的业务方向和客户构成(公司目标),所属部门的工作目标(和其他部门的联系)(团队目标),自己负责的开发方向,尽快投入工作(个人目标)。
4、border="1"是细的双线边框,border="0",cellspacing="1"是细的单线边框。
5、进入软件开发领域需要的是:真心的热爱,并且有为之奋斗毕生的心愿。销售自己之前先经营自己,懂得一招鲜,吃遍天。
6、工作加班的动力:渴望欣赏自己的成品,急于调试和演示,安静环境,项目紧张。加班不应成为常态化,影响项目管理,工作积极性和身心健康。熬夜加班是用未来的时间工作,熬夜越多,未来的时间越少。
7、MySQL,editplus,WPS等初期由几个人开发完成。
8、开发链:客户-销售经理-产品经理-项目经理-技术经理。一个产品分为外围程序和核心程序。
9、开发过程:项目计划(项目实施步骤)-需求分析(功能)-系统设计(类、接口、数据库设计)-编码-系统测试(单
元测试和整体测试)。
10、公司不养闲人,你需要做一头旷野上的野狼。
 个人目标、团队目标、公司目标中最重要的是团队目标。
 能见招拆招必须对各种招数了如指掌。
 
11、程序员四个前进阶段:程序的语言-程序的设计-产品-作品系列。
12、初学者购书方法:不选厚、插图多、国人自己写的、企业派作者、优秀出版社、适合你。
 读技术书需泛读之后结合自己的程序开发详读,读技术书的目的就是为了寻找答案。
 
13、积累并管理代码在文件夹中,减少二次编程,同时利于知识回忆。
14、Java IDE:适合开发Swing程序的Jbuilder、小巧轻量级的Jcreator、扩展性强的Eclipse、Editplus、Dreamweaver
15、数据库方面:Sun收购了MySQL(开源),Oracle收购Sun,SQLserver、VFP(VisualFoxPro)、Access(适合引入数据源)由微软开发,DB2由IBM开发,Sybase,Hsqldb(Java编写)
16、ASP是Active Server Page,JSP是Java Server?Pages,PHP:Hypertext Preprocessor最开始的名字是Personal Home Page, HTML是HyperText Markup Language,CSS是层叠样式表(Cascading Style Sheet)
17、JSP原理:JSP文件 转换成 Java文件 编译成 class文件 运行返回 HTML格式数据
18、web服务器:Apache HTTP Server、微软的IIS、Tomcat。
    web服务器返回给浏览器的是在HTML文件内容前加上协议格式信息(HTTP、Content-Type、Content-Length等)
 
19、Java程序员的7种武器:IDE、数据库系统、web服务器、操作系统、编程语言、辅助设计工具、版本控制工具
20、VB程序只能运行在Windows系统上。Unix系统开放,有多种发行版:Solaris(Sun公司开发,有专利权,但源码开放,Java开发的多个应用系统部署在Solaris上),AIX(IBM开发,全称Advanced Interactive Executive高级交互执行体)。Linux有GPL(General Public License,即GNU的通用公共许可证,采取两项措施来保护你的权利。
(1)给软件以版权保护。
(2)给你提供许可证。它给你复制,发布和修改这些软件的法律许可。),是GNU(GNU is Not Unix的递归缩写,GNU指非洲牛羚)阵营(GNU阵营提倡*软件,即原开发者之外的人可以共享源码并修改)的一员,Linux发行版:Redhat,Slackware(第一个大量发行的GNU Linux版本),RedFlag(中科院和上海联创开发),CentOS(和RedHat联系紧密)。Mac OS基于Unix核心。
21、操作系统:Windows、Unix、Linux、Mac OS
22、嵌入式操作系统:uCLinux(Micro Control Linux,针对微型控制领域设计的Linux系统)。Linux内核采用模块化设计,可针对功能应用增减资源使用。
23、浏览器端的小程序方案:Java Applet、ActiveX、Flash
24、C语言中的char类型占一个字节,Java中的char类型占两个字节,Java中的byte类型占一个字节。执行相同的程序,Java所占用的进程远大于C语言,但开辟的内存空间大小与C语言相近。
25、(1)Visual Studio语言系列:Visual Studio 6.0(VB 6、VC6 、VFP等)、Visual Studio .NET(VB.NET、VC.NET、C#)(Windows开发中还有Delphi、PowerBuilder、C++Builder等)。
(2)Visual Studio系列特长:Windows桌面程序、C/S结构应用程序;ActiveX控件调用与开发;DLL(Dynamic Link Library,即动态链接库)调用和开发.
(3)Unix/Linux的C/C++:特长:网络IP层开发;驱动程序层开发;Linux module层开发;Linux内核修改
(4)Unix/Linux shell语言:类似于Windows上的.bat文件,运行服务器上的指定任务或配合操作系统的工具和命令;shell脚本文件以文本文件的形式保存在硬盘上,可以以命令形式运行。特长:更方便针对操作系统进行操作;方便定时操作某些指定动作;编辑方便,以文件形式保存。
(5)Flash ActionScript:Flash的脚步语言,可以运行在web上,Flash一般被用户允许,而ActiveX和Java Applet等都需要下载插件,而这些插件有时因用户安全性考虑被禁止,所以Flash加入web开发更受web开发者欢迎。
26、(1)XHML(Extensible HyperText Markup Language)可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。
从继承关系上讲,HTML是一种基于标准通用置标语言的应用,是一种非常灵活的置标语言,而XHTML则基于可扩展标记语言,可扩展标记语言是标准通用置标语言的一个子集。
(2)DHTML(Dynamic HyperText Markup Language)是Dynamic HTML的简称,就是动态的html(标准通用标记语言下的一个应用),是相对传统的静态的html而言的一种制作网页的概念。所谓动态HTML(Dynamic HTML,简称DHTML),其实并不是一门新的语言,它只是HTML、CSS和客户端脚本的一种集成,即一个页面中包括html+css+javascript(或其它客户端脚本),其中css和客户端脚本是直接在页面上写而不是链接上相关文件。DHTML不是一种技术、标准或规范,只是一种将目前已有的网页技术、语言标准整合运用,制作出能在下载后仍然能实时变换页面元素效果的网页设计概念。
(3)ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。 使用 ActiveX, 可轻松方便的在 Web页中插入 多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体CD-ROM 。
(4)Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。Java Applet程序不能单独运行,必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。
含有Applet的网页的HTML文件代码中部带有<applet> 和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
27、版本控制工具:CVS(Concurrent Version System,即并行版本系统)、SVN(Subversion)
28、Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
29、常用UML设计工具:Rose(Rational公司的产品)、Visio(Microsoft office系列产品)、ER/Studio、PowerDesigner(偏向数据库设计)
30、大循环次数、大文件读取、大内存处理时,Java性能弱于C语言。
31、C语言能做Java做不到的事:操作系统驱动程序开发、原始套接字的建立、系统级程序开发
32、Java制作的软件:Tomcat、JBuilder、Eclipse、HSQLDB、Mckoi DataBase、ArgoUML、Columba(E-mail客户端)、FreeCol(游戏)
33、Internet和Intranet区别:Internet是因特网(网络的网络,面向世界),Intranet是内联网(单位或企业内部网络,面向单位或企业内部)。
34、B/S结构的客户端是浏览器,本质上B/S结构也是C/S结构。C/S结构是纯数据流,逻辑运算在客户端,有速度优势,而B/S结构是Http数据流是数据和数据格式构成,逻辑运算在服务器端。
35、C/S结构用在:速度要求高、实时性要求高、用户一旦使用改动不大的地方。
36、EJB(Enterprise Java Beans,企业级JavaBean)是一个用来构筑企业级应用的服务器端可被管理组件, 设计目标与核心应用是部署分布式应用程序。
37、JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]? 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
38、运行在一个独立的服务器上封装了特定业务逻辑(执行特定任务的类)的组件即EJB组件。
39、Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。
40、通过RMI技术,J2EE将EJB组件创建为远程对象,客户端就可以通过网络调用EJB对象了。
41、RMI可以进行:(1)对象序列化(类对象转换成字节数组,可以保存在文件中,或者发送到另一个主机)
(2)分布式计算与RPC(Remote Procedure Call,远程过程调用),本地计算机调用远程计算机上的函数。
42、虚拟专用网络(VPN,Virtual Private Network)的功能是:在公用网络上建立专用网络,进行加密通讯。
43、EJB部署的服务器为功能服务器。客户端软件与功能服务器进行广域网交互,功能服务器与数据库服务器进行局域网交互。多台功能服务器与一台数据库服务器进行交互,数据库服务器负载大。多台功能服务器与多台数据库服务器进行一对一交互,数据库服务器之间需进行数据共享。
44、中大型应用系统:在线用户多、软硬件投资大、开发的人力成本高。
45、UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。
46、服务器厚度:1U=1.75英寸=4.445厘米。服务器中是即插即用的磁盘阵列。
47、小型机:4到32个处理器的64位机,4GB以上的内存,封闭专用的Unix操作系统,高稳定性,安全可靠,用于银行和制造业等。
48、磁盘阵列:数据部分从内存中直接取;数据分段存在不同磁盘中。
49、集线器(Hub)共享宽带,交换机(Switch)各插口独享宽带,路由器又加入了网络传输路径选择。KVM(Keyboard、Video、Mouse)可以一套键盘、显示器和鼠标切换控制多台服务器。
50、DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
51、访问域名时,DNS判断各个主机的负载情况,将请求转向负载最小的主机的IP地址。
52、负载均衡的方式:DNS、代理服务器、网关的地址转换
53、双机、集群的配置模式:多服务器做备份,一个故障,另一个或其他多个顶上。
54、流量1M:1M Byte;速率1M:1M bit。带宽,单位bit/s。输入带宽:Internet输入到服务器的速度;输出带宽:服务器输出至Internet的速度。
55、框架的好处:减少代码重用、利于多人协同工作、采用快速原型技术、更加开放、需求分析更充分、不必限于底层编程。核心在于规范化、体系化、高阶化。
56、面向对象最大的复用方式就是框架。一个大型应用系统往往由多层互相协作的框架构成。
57、MVC框架:Struts、Spring、Hibernate、WebWork、EasyJWeb(可以自动生成代码模板)、Click、JBlooming
58、菜鸟一定不是靠混时间成为高手的。
59、程序员的品质:避免临时文件名;注重细节,细节就是对用户的关怀,无需用户自己强调;重视异常处理,不只是打印异常,打印异常并不是严格意义上的异常处理,捕捉异常时细化异常类型,是否发生异常都加入系统资源占用的释放,在finally中写入系统处理程序。
60、内存溢出不能用Exception捕获,应该用Error捕获。
61、资源的浪费:字段定义过多、类建立过多、线程创建过多、结构简单堆砌(没有根据模块共性建立类,缺少对继承的足够重视,类的继承利于长期开发)、明明有Java对应的定义方法却非要自己写一个功能完全相同的自定义方法
62、技术有完整性、系统化特征,技巧有创新性、个性化特征。
63、对象序列化时创建obj文件,将数据以流的方式写入。
64、RFC(Request For Comments)-意即“请求评议”,包含了关于Internet的几乎所有重要的文字资料。如果你想成为网络方面的专家,那么RFC无疑是最重要也是最经常需要用到的资料之一,所以RFC享有网络知识圣经之美誉。通常,当某家机构或团体开发出了一套标准或提出对某种标准的设想,想要征询外界的意见时,就会在Internet上发放一份RFC。
65、Worker是被动的创造,maker是主动的创造,理想与生存无缝结合,优秀的代码应运而生。
66、int a=5;int b=5;//a和b指向同一个内存空间。
String s=new String("abcd");String s="abcd";//前者的调用会直接在堆上开辟空间,后者如果有相同的值则直接指向相同的位置,没有则在栈上开辟空间存上。Sting类型变量的值是否相等用“equal”,对象是否是同一个用“=”。
67、电脑存储分两类,存储器(内存,是这样的,1KB是1024B(字节)一个字节8位.1MB是1024KB。而硬盘容量就有点不同,例它的1M是1000KB。
68、二维数组比一维数组占用内存。HashMap查询可节约内存。arrayCopy()提高截取数组速度。
69、垃圾收集器是低优先级的线程,在内存空闲的时候自动进行回收处理,但在内存过少时可能被突发执行挽救程序。
70、简单的说,产品就是商品,项目就是任务。
 
71、用户是被拯救者,而非顾问,必须有绝对决策者,着重关心用户的业务。
72、文档流程:软件可行性研究报告、项目开发计划、数据要求说明书、需求说明书、用户手册概要、概要设计说明书、详细设计说明书、单元测试报告、组合测试报告、用户使用手册、产品介绍、项目开发计划。