Java科普之基础知识回顾
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
Java语言由C衍生,丢弃C中的指针,使用“发出指令-接收返回值-验证-发出指令-接收返回值-验证”严格的机器应答模式,单线程操作,一环出错剩下则不执行,使得Java成为安全性系数较高的语言,为银行、证券、保险、通信等大型企业所青睐!
命名规则:以大小写字母、$、阿拉伯数字组成,但不能以数字开头,避免使用Java关键字,如方法定义的abstract、public,定义变量的static、final、基本数据类型(int,String),包定义package,接口定义interface等。这使得学会编程语言的人,可以在任何一个国家地区进行工作,而且编程人员的需求也越来越大,选择Java的同事是幸运的!
为什么要这样说呢,上面已经说Java编程程序是安全的,其次Java的内存可以手动回收,如静态变量直接赋空,Bitmap直接recycle,也可以由虚拟机自动去回收,也可以通过引用的方法引导虚拟机去回收(详见:Android高级开发第八讲--粗略讲述Java之软引用、弱引用和虚引用)。这样就给我们提供了很多便利,加上eclipse编辑器,这真是神的奉献,为我们提供一个良好的编程环境!
说到这里不得不介绍一些编程常用的软件,迷你版PS-图片编辑利器,startUml-软件业务图制作利器,AxureRP-软件设计图制作利器,有道词典-单词查看利器,EditPlus-文本编辑利器,SourceCounter-代码量计算利器,MindManager-思维图编辑利器,SVN-代码管理利器(可用git代替),沟通的QQ,搜索的Chrome也一笔代过,其中书签栏也是必备品。
Java命令:javac编译,java执行
正确的jdk配置方法:
1、高级系统设置-环境变量
2、系统变量栏-新建Java_Home,路径-jdk目录(如:C:\Program
Files (x86)\Java\jdk1.6.0_10)
3、然后path添加;%Java_Home%\bin;
4、系统变量栏-新建classpath,然后path添加.;%Java_Home%\lib;(提醒一定要记得加".",不然报java.lang.noClassDefaultFoundError)
Java编程是面向对象的,就像面对一个模特,怎么打扮是你的事;但每个项目都有对模特的要求,打扮成什么样子,需要多少人/天,打扮计划,项目管理,测试,最终这个模特被认可,欢迎度极高,上千万人的访问并且不影响模特的造型,还留有“余地”以后来改进,那么这就是开发团队所要做的事情。
Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。指令集就是一些指令的集合如移位、加减操作;寄存器像一个配置方法,保存机器运行状态的硬件,可以限制机器的使用次数(有些设备是被强制报废的,就与它有关);栈包含变量(操作对象)、方法(操作规则)、操作数(操作过程的缓存);垃圾回收堆一般后台回收无用的操作对象;存储方法域存放javac编译后的.class文件。
引用与内存的概念,通过new向堆申请一块内存,使用一个变量指向它,并放在栈里;实际上,垃圾回收是回收栈引用指向的堆内存,来提高系统的运行效率。
进制的问题,机器语言最终以0101的二进制形式出现,也有10进制,8进制(0开头,如011代表9),16进制(0x开头,0x11代表17)
同时注意浮点型数字后面要加1.23d或1.23f,代表不同的精确度,值不相等。
转义字符,\t代表空格,\n代表回车
运算符,算术运算符(+,-,*,/,%,++,--)
关系运算符(>,<,>=,<=,==,!=) 布尔逻辑运算符(!,&&,||) 位运算符(>>,<<,>>>,&,|,^,~)
;++op与op++(区别在于前者运算前先加,后者运算前不加),--,%(取余),三目运算:条件?结果a:结果b(true则a,否则b)。
控制语句,1.分支语句:if-else,break,switch,return. 2.循环语句:while,do-while,for,continue. 3.例外处理语句:try-catch-finally,throw
数组,一维、二维、多维,存储数据的变量;对象,变量的集合,instance of 来判断对象类型;包,对象:抽象、继承、多态;接口与抽象类,一般回调用接口,表达一个对象用抽象类,区别在于前者like像是,后者is是;数据结构,算法是对Java的补充。
Java内存占用测试方法:
long beforeMemory=Runtime.getRuntime().totalMemory();
/**
* 省略五百字
*/
long afterMemory=Runtime.getRuntime().totalMemory();
System.out.println("省略一百字:"+(afterMemory-beforeMemory));
另外理解下线程也是好的。Thread与Runnable的区别
最后这篇文章的缩进我都是用空格打出来的,诸位谁有更好的办法,介绍一下呗!
Java科普之基础知识回顾的更多相关文章
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Java基础知识回顾之七 ----- 总结篇
前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...
- Java基础知识回顾(一):字符串小结
Java的基础知识回顾之字符串 一.引言 很多人喜欢在前面加入赘述,事实上去技术网站找相关的内容的一般都应当已经对相应知识有一定了解,因此我不再过多赘述字符串到底是什么东西,在官网中已经写得很明确了, ...
- C#基础知识回顾-- 反射(3)
C#基础知识回顾-- 反射(3) 获取Type对象的构造函数: 前一篇因为篇幅问题因为篇幅太短被移除首页,反射这一块还有一篇“怎样在程序集中使用反射”, 其他没有什么可以写的了,前两篇主要是铺垫, ...
- C#基础知识回顾-- 反射(1)
C#基础知识回顾-- 反射(1) 反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- C#基础知识回顾--线程传参
C#基础知识回顾--线程传参 在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数, 也不能有返回值.如果希望传递参数给执行函数, ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- C++ 基础知识回顾总结
一.前言 为啥要写这篇博客?答:之前学习的C和C++相关的知识,早就被自己忘到一边去了.但是,随着音视频的学习的不断深入,和C/C++打交道的次数越来越多,看代码是没问题的,但是真到自己操刀去写一些代 ...
随机推荐
- iTween基础之功能简介
一.iTween 介绍 .二.iTween 原理.三.iTween 下载.四.iTween 类介绍.五.主要功能介绍 原文地址:http://blog.csdn.net/dingkun520wy/ar ...
- 容器适配器之stack
参见http://www.cplusplus.com/reference/stack/stack/ template<class T, class Container = deque<T& ...
- PSP0级 周活动总结表+时间记录日志+缺陷记录日志 表格模板
一.项目计划总结: 周活动总结表 姓名: 日期: 日期\任务 听课 编写程序 阅读课本 准备考试 日总计 周日 周一 ...
- js毫秒数转换成时间格式
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + ...
- gameObject, vector and transform
调用其它组件中成员 通过GameObject(游戏物体). Base class for all entities in Unity scenes. 是Unity场景里面所有实体的基类. 可以理解为 ...
- Mysql 导出数据库和指定表中的数据
参考地址:http://jingyan.baidu.com/article/b7001fe14240ab0e7282dde9.html [root@youo zw]# mysqldump -u roo ...
- Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载
Linux 虽然一直都有在玩,但是对硬盘操作确实不是很熟悉今天有空,就整理了下. 1,创建分区 先查看下是否有磁盘没有分区 fdisk -l 其中第一个框和第二个框,是已经分好区的磁盘,第三个硬盘没有 ...
- android 怎么动态设置button 的style
网上找了很多,还是没有直接的解决办法,button没有setstyle这个方法.因此我的解决办法如下: 直接动态设置各个属性 Button themeBtn = new Button(this); t ...
- 从URL中获取搜索关键字
public string GetSearchKeyWords(string strQuery) { string result = ""; string pattern = &q ...
- 【BZOJ】【1717】【USACO 2006 Dec】Milk Patterns产奶的模式
后缀数组 o(︶︿︶)o 唉傻逼了一下,忘了把后缀数组的字典范围改回20001,直接21交了上去,白白RE了两发……sigh 既然要找出现了K次的子串嘛,那当然要用后缀数组了>_>(因为我 ...