《java是什么:》
Programming language 程序语言
Development environment 开发环境
Application environment 应用环境
Deployment environment 部署环境

《java 优点》
1.Provide an interpretation envirenment 解释性的环境
>Accelerate development 加快开发速度
>Write once,run anywhere 跨平台运行
>Multi-thred 多线程(语言级别)
>Dynamically support upgrading 支持向上自动转型
2.Provide a easier way to program 程序简单
>More robust:no pointer ,no memory management in codes,Pure object-oriented programming
没有指针(引用),不用内存管理(java程序员只能操作堆) ,面向对象程序
3.How to implements the above
>JVM,Garbage Collection and Code Security Verifying
java虚拟机,垃圾回收机制,代码检测

《java的3个特性》
无指针(使用引用)、不需要进行内存管理、代码检测(字节码)

需要理解的:jvm,垃圾回收机制,代码检测的内容

jVM:创建一个解释执行的环境
java程序先通过编译形成字节码文件,通过本地或者网络进行传输,
然后在每一个拥有java虚拟机环境的机器上执行(跨平台),执行前先装载字节码文件,然后对字节码文件进行检测(代码检测)
随后在解释性环境下进行执行,部分关键,经常重复的代码会实现即时编译执行(JIT),完成代码的功能。
因此,java程序需要分成编译(compile)与执行(runtime)两个状态。

虚拟机——>实现跨平台
ByteCode 字节码
JVM
CPU

对于JIT(Just In Time)网上有相应的说明。

Code Security Verifying:
代码检测主要检测内容:
》javac的版本要低于java的版本,不然不兼容;
》系统的一致性(有效地址空间);
》栈是否溢出
》参数类型是否匹配
》类型转化是否正确

Garbage Collection:
垃圾回收机制:java的垃圾回收机制是自动进行的(实际就是一个扫描内存的线程),不需要开发人员过多的关系内存的问题。
可以通过以下指令显示调用:
java.lang.system.gc() runtime.gc()

一个基本的java程序包括:
报名、类名、成员属性、成员方法、程序入口等等。

最核心的java包:java.lang包
java.util(常用算法包,如日期等)
java.net(网络包)
java.io(程序输入输出)
java.awt/javax.swing/java.awt.event(窗口、事件)

java-从这里开始认识的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. DevOps开源工具的三种分类整理

    原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,De ...

  2. C#中执行存储过程并在SQL server中调试

    1.编写存储过程 ) drop PROCEDURE [dbo].[sp_calcPci_of_baseRcd_GTmpTbl] CREATE PROCEDURE [dbo].[sp_calcPci_o ...

  3. uboot和内核分区的改动

    随着内核的更新,内核越来越大,uboot给nand的kernel分区默认是2M的 device nand0 <nandflash0>, # parts = 4  #: name       ...

  4. Hadoop自带Sort例子分析

    /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...

  5. nginx反向代理带路径访问问题

    nginx的配置为192.168.0.219:80分别映射到upstream组192.168.0.55:8080和192.168.0.206:8080,那如何配置做到访问192.168.0.219:8 ...

  6. 微信支付v3开发(6) 收货地址共享接口

    请看新版教程  微信支付开发(7) 收货地址共享接口V2 本文介绍微信支付下的收货地址共享接口的开发过程. 一. 简单介绍 微信收货地址共享,是指用户在微信浏览器内打开网页,填写过地址后,兴许能够免填 ...

  7. java高级之信号灯Semaphore

    1.Semaphore概念 Semaphore是Java1.5之后提供的一种同步工具,Semaphore可以维护访问自身线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数 ...

  8. diamond源码阅读-目录监控

    PathNode(Path)StandardWatchEventKind(WatchEvent)Watchable(WatchKey WatchService WatchEvent)WatchKey( ...

  9. php在IIS上put,delete请求报404

    方法一:配置C:\Windows\System32\inetsrv\Config\applicationHost.conf的put,delete 方法二:网传最广之方法,修改项目的web.config ...

  10. linux下nginx php配置redis

      之前一直遇到,Module compiled with module API=20090626这个坑问题!!! NOTICE: PHP message: PHP Warning: PHP Star ...