java基础 (java工程师入门应该了解的)
1)建立Java开发环境
2)理解Java特性(features)
3)理解Java虚拟机软件的功能
4)描述垃圾回收概念
5)枚举实现Java代码安全方式
6)编码 编译 运行 JAav 应用程序
1.JDK(JAVA开发工具包):JVM(运行环境) API(类集合 编程文档),还有一些开发工具
包括 java虚拟机(JVM):编译和执行java程序 (跨平台)
JDK类库(API):包含各种java类及实用类:java.long,java.io、java.util,、javax.swing、java.sql等包中的类都位于JDK类库中。
开发工具:javac编译工具;
java运行工具;
Javadoc生成JavaDoc文档的工具
jar打包工具
2.JVM:Java Virture Machine,模拟java运行环境 虚拟出CPU (支持了JAVA的跨平台)
3.JAVA不跨平台而Bytecode字节码跨平台Bytecode字节码属于中间代码
A)和java相关的环境变量有那几个,它们有什么作用
JAVA_HOME:简化其它变量设置过程中的内容输入。可先行将JDK的安装路径定义为一变量,以后凡使用到JDK安装路径的地方均使用该变量进行替换。
PATH:指定执行外部命令时找寻对应可执行文件的路径范围。
CLASSPATH:代表Java类的根路径,java命令会从CLASSPATH中寻找所需的Java类;Java编译器编译Java类时,也会从CLASSPATH中寻找所需的Java类;classpath的默认值为当前路径。
B)java的优秀特性
跨平台:字节码跨平台,在任何平台上字节码都一样,但不同平台有不同平台的JVM
易编程:没有指针(垃圾回收器)、面向对象(符合人类思考方式)
代码安全:有字节码校验器,适合在网络传输
C)代码校验器规范
1)代码是否满足java的规范要求
2)代码不能破坏系统的安全性
3)没有堆栈溢出 上溢或下溢
4)参数类型的检查
5)类型转化的检查 类型可以相互转化
堆栈的上溢和下溢:
上溢:是当一个超长的数据进入到缓冲区时,超出部分被写入上级缓冲区,上级缓冲区存放的可能是数据、上一条指令的指针,或者是其他程序的输出内容,这些内容都被覆盖或者破坏掉。可见一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。
下溢:是当一个超长的数据进入到缓冲区时,超出部分被写入下级缓冲区,下级缓冲区存放的是下一条指令的指针,或者是其他程序的输出内容。
4.Garbage Collection管理内存 (自动释放空间 处理内存 )系统级线程
New——>新建对象——>创建内存空间,申请内存空间
5.JIT:just In Time 及时编译器 把Java字节码转换成Java直接运行的程序
6.Package 一个包可以包含多个Java类 管理一组Java类 在文件系统中对应的是目录
1)解决名称冲突问题
2)便于类管理
类的全限命名:包名+类名
Cp:装载路径
import导入 DATE获取当前时间
7.public的源文件只能有一个 public的公共的类名和文件名保持一致
8.Javac Java源文件编译 编译成class文件 一次可以编译多个文件
9.Java程序从main方法开始执行
10.Java一个源文件中可以有多个java类。但只能有一个是public的 多个源文件可以创建多个public的
类
11.Api:应用程序编程接口 类库
12.Java.lang包的默认值
Javac -d(自动创建目录)classes src/hello.java
Java -cp(装载路径) classes com.briup.chap01.hello
java基础 (java工程师入门应该了解的)的更多相关文章
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- Java基础-Java数据类型
Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...
- Java基础组件快速入门
最近需要上线很多新的JAVA项目,然而很多JAVA的相关库都不太熟悉,项目实现起来遇到了不小阻力,熬了好几天夜.现在手头的工作基本完成了,因此打算好好来归纳下java的相关工具库,将来需要借助你们,好 ...
- Java基础1,入门基础知识
本文知识点(目录): 1.java简介 2.环境的搭建 3.关键字 4.标识符 5.注释 6.常量 7.进制的转换 8.变量 9.数据类型的转换 ...
随机推荐
- Arm环境搭建-基于博创科技(CentOS7.0系统安装篇1)
CentOs 7.0安装和基本命令篇 目的:学习基本的linux命令,熟悉linux操作系统,安装linux.(安装过5.5,6.3并不是安装一帆风顺的,多次安装,有个10次多吧,基本会 ...
- 如何对HashMap按键值排序
Java中HashMap是一种用于存储“键”和“值”信息对的数据结构.不同于Array.ArrayList和LinkedLists,它不会维持插入元素的顺序. 因此,在键或值的基础上排序HashMap ...
- Android多线程通信之Handler
主线程 public class MainActivity extends ActionBarActivity { private Handler handler; // private Thread ...
- 安装qt5.3.2后,qtcreator在ubuntu 11.04无法启动的问题
在官方网站下载.run文件安装后,qtcreator启动失败,然后找到命令行启动,失败原因如下: shr@shr-Sieyuan:~/Qt5.3.2/Tools/QtCreator/bin$ ./qt ...
- linux设备驱动归纳总结(十二):简单的数码相框【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-116926.html linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxx ...
- [转]学习 WCF (6)--学习调用WCF服务的各种方法
转自:http://www.cnblogs.com/gaoweipeng/archive/2009/07/26/1528263.html 作者这篇博文写得很全面. 根据不同的情况,我们可以用不同的方法 ...
- Pro ASP.NET MVC 5 Framework.学习笔记.6.4.MVC的必备工具
2.5.创建链式依赖 当你请求Ninject创建一个类型,它检查该类型的依赖是否声明.它也会检查该依赖是否依赖其他类型.如果这里有附加依赖,Ninject自动解决他们,并创建请求的所有类的实例.正是由 ...
- HttpClient I/O exception (java.net.SocketException) caught when processing request: Connect
转自:http://luan.iteye.com/blog/1820054 I/O exception (java.net.SocketException) caught when processin ...
- mongo 日记
分组代码片段 命令行代码: aggregate({$group:{_id:{A:'$A',B:'$B',C:'$C'}}}) 拿出唯一号有重复的数据: > db.aaaa.aggregate([ ...
- canvas 动画
1.随机产生形状,做360度运转,带有一个开始开始按钮一个停止按钮 var canvas=$('.mycanvas'); canvas.attr("width",500);//$( ...