基本认识

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学习随笔记录的更多相关文章

  1. JAVA 学习随笔 : JDK Enhancement Process JEP process

    是时候寻找一个学习JAVA的路径了 ---- JDK Enhancement Process Oracle发布了JDK增强提案与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进Open ...

  2. java学习随笔--- 捣蛋vector

    最近比较有时间啦,有时间搞下java,个人觉得学这门语言语法太多啦,不一一去学习啦,心血来潮,挂了个struct2的源代码,一入深似海啊,看得我天花缭乱,从最简单的开始吧 public static ...

  3. Java学习随笔5:Java多线程编程

    1. 线程是程序中单独顺序的控制流,线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境. 2. 进程是执行中的程序,一个进程可以包含一个或多个线程,但至少要包含一个线程 ...

  4. Java学习随笔4:Java的IO操作

    1. IO流的作用是读写设备上的数据,如硬盘文件.内存.键盘.网络等.根据数据走向,可分为:输入流和输出流:根据处理的数据类型,可分为:字节流和字符流.字节流可以处理所有类型的数据,如MP3.图片.视 ...

  5. Java学习随笔3:遍历文件夹及文件的读取和写入

    import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...

  6. Java学习随笔2:Java复合赋值表达式的小问题

    问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // ...

  7. Java学习随笔1:Java是值传递还是引用传递?

    Java always passes arguments by value NOT by reference. Let me explain this through an example: publ ...

  8. JAVA学习随笔-.class

    类名.class是获得这个类所对应的Class实例.从面向对象的角度上来看,类也是对象,它们是类这个类对象,听起来有些抽象,但是在java中的实现就是所有的加载进来的类在虚拟机中都是一个java.la ...

  9. Java学习随笔——RMI

    RMI(Remote Method Invocation)远程方法注入,用来实现远程方法调用,是实现分布式技术的一种方法.RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建了和服务对象相同的方 ...

随机推荐

  1. springMVC学习之url重写:urlrewrite with tuckey UrlRewriteFilter

    在开发网站时地址栏的一些信息是我们不希望让客户看到,所以在开发时候就会涉及到url重写的问题. 下面介绍一种常用的url地址重写的方法. 1.利用maven下载相关jar文件,pom文件配置如下: & ...

  2. 《C#高级编程》之委托学习笔记 (转载)

    全文摘自 http://www.cnblogs.com/xun126/archive/2010/12/30/1921551.html 写得不错,特意备份!并改正其中的错误代码..     正文: 最近 ...

  3. caffe下训练时遇到的一些问题汇总

    1.报错:“db_lmdb.hpp:14] Check failed:mdb_status ==0(112 vs.0)磁盘空间不足.” 这问题是由于lmdb在windows下无法使用lmdb的库,所以 ...

  4. CSC321 神经网络语言模型 RNN-LSTM

    主要两个方面 Probabilistic modeling 概率建模,神经网络模型尝试去预测一个概率分布 Cross-entropy作为误差函数使得我们可以对于观测到的数据 给予较高的概率值 同时可以 ...

  5. Python yield 使用浅析

    转载来自: http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ 初学 Python 的开发者经常会发现很多 Pyth ...

  6. 2015年ACM沈阳网络赛(准备做掉4道:)

    Traversal Best Solver Minimum Cut Dividing This Product Excited Database Fang Fang Matches Puzzle Ga ...

  7. iOS中类别的使用

    类别的三大作用1.给现有的类增加方法,可以增加 对象方法,也可以增加静态方法. 如果增加的方法是此类本来就有的方法,那么,此方法有可能会把原方法覆盖,也有可能不会覆盖. 类别只能增加现有类的方法,不能 ...

  8. Win7下完全卸载Oracle 11g

    1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl). 2 开始--> ...

  9. sqoop部署

    下载安装包 sqoop-1.99.3-bin-hadoop200.tar.gz 解压 tar zxvf sqoop-1.99.3-bin-hadoop200.tar.gz 建立sqoop链接 ln - ...

  10. Windows Server 2008 R2 DNS 服务器迁移