(。・・)ノ~个人java学习随笔记录
基本认识
1.编程思维
根据这几天的java学习,编写程序最重要的就是要有一个清晰的思路。语法上的错误可以跟随着不断的联系与学习来弥补,清晰的思维却只有自己来前期模仿,后面慢慢摸索形成一套属于自己的思维方式。
2.编程方向
程序编写方面考虑的是完成某个任务需要的东西(对象),也就是达成目标需要用什么来完成。程序主要编写思路也是围绕这些东西来写,而不是围绕完成这个目标的步骤。(这就是所谓的面向对象编程,和C语言最大的区别)
3.编程习惯
随着以后编写的程序的不断扩张,程序会越来越大,需要的对象也会越来越多,对象完成的方法也会不断加多,因此,我们需要提前培养自己程序模块化的思想。不要什么模块都杂堆在主函数里面,这样修改起来很麻烦,程序冗长,也不便于其他程序员阅读你的程序,毕竟以后一个大的工程都是大家几个程序员一起完成,所以我们有必要为了别的程序员考虑自己的程序编写格式。适当的注解,不但有利于别人阅读自己的程序,时间久了,自己来看自己编写的程序也不会有太久的迷茫时间。模块化就是把有相似内容的模块归类放在一起,相当于平时整理自己的家一样,厨房用具放在厨房,衣物放在衣柜里。在后面找错和修改程序时,也能更方便快捷的完成需要的要求。
4.关于java
1.简单性
c++的“纯净”版本,容易入手学习;最早的java开发来就是用于小型机器(家电),也就是程序小。
2.面向对象
程序设计时,重点放在达到目的所需的对象(物体),而不是使用的方法。
用木匠打比方,面向对象的木匠注重的是木桩,非面向对象的木匠注重的是工具。
3.分布式
java有一个丰富的例程库,使java程序能通过URL打开和访问网络上的对象。
4.健壮性
java开发时,投入了大量的精力用于早期的(编写程序期间)问题检查、后期动态(程序运行)的检测,使得java编译器能检测出许多其他语言只能在运行时候才能检测出来的问题。
5.安全性
在安全方面,java可以构建一定程度的放病毒、防篡改的系统。
6.体系结构中立
java编译器生成一个体系结构中立的目标文件格式(一种编译过的代码),只要有java运行时系统,就可以在许多不同的处理器上运行。
7.可移植性
Java中数据类型是有固定的大小,其他语言都是可以在一定限制条件下(例如 short int 小于 int 小于 long int)随意更改的。虽然没有做到全部都可以移植(与用户界面有关的部分除外),其他方面还是能很好地支持平台独立性。
8.解释性
java解释器可以在任何移植了解释器的机器上执行Java字节码(编译器编译程序代码后产生的)。联系6.7.点
9.高性能
字节码可以在运行时动态的翻译成对应运行这个应用的特定CPU的机器码(计算器直接认识的)。
10.多线程
一个程序能同时使用更多的处理器,并让他们一直工作。运行时,处理器需要等待服务器的响应,这时候需要并发程序设计来确保用户界面不“冻住”。
11.动态性
java适应不断发展的环境。库中可以不断自由添加新方法,以及实例变量,然而对客户端却不会产生任何影响。
(。・・)ノ~个人java学习随笔记录的更多相关文章
- JAVA 学习随笔 : JDK Enhancement Process JEP process
是时候寻找一个学习JAVA的路径了 ---- JDK Enhancement Process Oracle发布了JDK增强提案与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进Open ...
- java学习随笔--- 捣蛋vector
最近比较有时间啦,有时间搞下java,个人觉得学这门语言语法太多啦,不一一去学习啦,心血来潮,挂了个struct2的源代码,一入深似海啊,看得我天花缭乱,从最简单的开始吧 public static ...
- Java学习随笔5:Java多线程编程
1. 线程是程序中单独顺序的控制流,线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境. 2. 进程是执行中的程序,一个进程可以包含一个或多个线程,但至少要包含一个线程 ...
- Java学习随笔4:Java的IO操作
1. IO流的作用是读写设备上的数据,如硬盘文件.内存.键盘.网络等.根据数据走向,可分为:输入流和输出流:根据处理的数据类型,可分为:字节流和字符流.字节流可以处理所有类型的数据,如MP3.图片.视 ...
- Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...
- Java学习随笔2:Java复合赋值表达式的小问题
问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // ...
- Java学习随笔1:Java是值传递还是引用传递?
Java always passes arguments by value NOT by reference. Let me explain this through an example: publ ...
- JAVA学习随笔-.class
类名.class是获得这个类所对应的Class实例.从面向对象的角度上来看,类也是对象,它们是类这个类对象,听起来有些抽象,但是在java中的实现就是所有的加载进来的类在虚拟机中都是一个java.la ...
- Java学习随笔——RMI
RMI(Remote Method Invocation)远程方法注入,用来实现远程方法调用,是实现分布式技术的一种方法.RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建了和服务对象相同的方 ...
随机推荐
- springMVC学习之url重写:urlrewrite with tuckey UrlRewriteFilter
在开发网站时地址栏的一些信息是我们不希望让客户看到,所以在开发时候就会涉及到url重写的问题. 下面介绍一种常用的url地址重写的方法. 1.利用maven下载相关jar文件,pom文件配置如下: & ...
- 《C#高级编程》之委托学习笔记 (转载)
全文摘自 http://www.cnblogs.com/xun126/archive/2010/12/30/1921551.html 写得不错,特意备份!并改正其中的错误代码.. 正文: 最近 ...
- caffe下训练时遇到的一些问题汇总
1.报错:“db_lmdb.hpp:14] Check failed:mdb_status ==0(112 vs.0)磁盘空间不足.” 这问题是由于lmdb在windows下无法使用lmdb的库,所以 ...
- CSC321 神经网络语言模型 RNN-LSTM
主要两个方面 Probabilistic modeling 概率建模,神经网络模型尝试去预测一个概率分布 Cross-entropy作为误差函数使得我们可以对于观测到的数据 给予较高的概率值 同时可以 ...
- Python yield 使用浅析
转载来自: http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ 初学 Python 的开发者经常会发现很多 Pyth ...
- 2015年ACM沈阳网络赛(准备做掉4道:)
Traversal Best Solver Minimum Cut Dividing This Product Excited Database Fang Fang Matches Puzzle Ga ...
- iOS中类别的使用
类别的三大作用1.给现有的类增加方法,可以增加 对象方法,也可以增加静态方法. 如果增加的方法是此类本来就有的方法,那么,此方法有可能会把原方法覆盖,也有可能不会覆盖. 类别只能增加现有类的方法,不能 ...
- Win7下完全卸载Oracle 11g
1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl). 2 开始--> ...
- sqoop部署
下载安装包 sqoop-1.99.3-bin-hadoop200.tar.gz 解压 tar zxvf sqoop-1.99.3-bin-hadoop200.tar.gz 建立sqoop链接 ln - ...
- Windows Server 2008 R2 DNS 服务器迁移