java-从这里开始认识
《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-从这里开始认识的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- DevOps开源工具的三种分类整理
原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,De ...
- C#中执行存储过程并在SQL server中调试
1.编写存储过程 ) drop PROCEDURE [dbo].[sp_calcPci_of_baseRcd_GTmpTbl] CREATE PROCEDURE [dbo].[sp_calcPci_o ...
- uboot和内核分区的改动
随着内核的更新,内核越来越大,uboot给nand的kernel分区默认是2M的 device nand0 <nandflash0>, # parts = 4 #: name ...
- Hadoop自带Sort例子分析
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...
- nginx反向代理带路径访问问题
nginx的配置为192.168.0.219:80分别映射到upstream组192.168.0.55:8080和192.168.0.206:8080,那如何配置做到访问192.168.0.219:8 ...
- 微信支付v3开发(6) 收货地址共享接口
请看新版教程 微信支付开发(7) 收货地址共享接口V2 本文介绍微信支付下的收货地址共享接口的开发过程. 一. 简单介绍 微信收货地址共享,是指用户在微信浏览器内打开网页,填写过地址后,兴许能够免填 ...
- java高级之信号灯Semaphore
1.Semaphore概念 Semaphore是Java1.5之后提供的一种同步工具,Semaphore可以维护访问自身线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数 ...
- diamond源码阅读-目录监控
PathNode(Path)StandardWatchEventKind(WatchEvent)Watchable(WatchKey WatchService WatchEvent)WatchKey( ...
- php在IIS上put,delete请求报404
方法一:配置C:\Windows\System32\inetsrv\Config\applicationHost.conf的put,delete 方法二:网传最广之方法,修改项目的web.config ...
- linux下nginx php配置redis
之前一直遇到,Module compiled with module API=20090626这个坑问题!!! NOTICE: PHP message: PHP Warning: PHP Star ...