Java基础

你1、基于JDK 1.8进行开发,可以边开发边学习JDK 1.7的新特性。1.6是JDK很稳定的版本,讲JDK1.8是因为现在的技术体系在下一个版本会发生一个变化,如果再不学习一些新的特性你会发现要学的东西越来越多,以后就追不上去,所以是基于JDK 1.8进行学习,它是基于JDK 1.6和 1.7加了一些新的特性,不是完全的推翻之前的,只是在原来的基础之上进行了一些新的改进。

2、java历史-很干,可以选择不看
android:android运行于Linux的服务器基础之上,但是它的API依托于java的虚拟机,所以说android它编写的时候是java,但是运行的时候是基于安装在手机Linux上的虚拟机,它只是在安卓操作系统里面那个你运行的手机端的Linux里面内置了一个这样的虚拟机。手机里面肯定会安装一个Linux版的虚拟机在里面,只是肯定有点不一样,肯定改进了谷歌公司。

3、语言
学习编程的时候不要求多,学任何一个语言都行,新学一个,另外的了解,可以入个门,这样你不可能走到终点,走到最后,接触的都是些皮毛。
如果没有语言基础,一开始新不要学C语言,它里面主要讲的是数据结构和指针的一些概念,更加的偏向底层,C++的底层就接近于C了,可能学几个月也上不了项目,等以后用到的时候也忘差不多了;如果是开发一个新的语言,C语言的学习是必须的,还要学一些硬件、内存、还要对操作系统有一些了解。
语言是什么?是用来沟通的,语言是双方的,人和人之间的沟通是因为人有了认知,大脑里面存储了大量的知识,通过知识去组织你的话语,你就可以进行沟通。编程语言就是讲我们现实生活中的东西进行抽象化了,我们编程语言,如果计算机要实现人与人之间的沟通的话,那么它必须符合几点条件,第一:数据要找地方存储起来,第二:必须有计算能力,说白了语言就是人机交互的手段而已,根据语言的规则计算机就可以帮你执行掉。存储起来,存哪里?计算机里面会有CPU、内存条、磁盘。编程就是人机交互的过程,这些东西怎么进行运作和原理。在电脑里面的计算都是CPU,只有CPU才有计算的能力,它是核心的核心,相当于大脑,任何的指令都是CPU棒我们计算的,它怎么计算的?每个电脑里面应用太多了,可能要打开QQ又要打开word文档等等,它的CPU怎么进行运作的,它肯定找了个东西做了缓冲,在早期是那样内存的概念的,用过软盘的知道,以前的数据都是安装在磁盘里面,你打开都是从磁盘里面进行打开,CPU从IO进行读取的时候都是跟磁盘打交道的,但是有个问题IO瓶颈太严重了,打开非常的慢,会卡顿,IO寻道的时候就会产生很大的延迟和你的电脑根本承受不住,后面有一种东西叫着软区,就是软盘,插个软盘进去,你把那些应用放在哪里就超快,后来随着软区的流行,就出现了内存条,64兆、128、256的内存啊。后面就出现了内存的概念,内存就会有一些寄存器,就会把这些东西缓存到内存里面,为什么要缓存在内存里面?内存里面又开始分一个东西,叫着进程,但是内存肯定是个多线程,内存里面肯定有个寄存器去寄存数据,寄存器里面有很多的进程,进程是干什么的?每个应用它都会对应一个进程,进程肯定是一个可执行的文件(exe),接下来就会把它打包成一个可执行的文件,安装在我们的内存里面,让它在哪里运行着,为什么会一定是一个进程,因为进程是独立的,数据存储的空间,就是说白了,我开一个进程接下来就会产生一个内存区域,这个内存区域内的所有东西都在这个进程里面进行执行,它们之间是互不干扰互补牵制的,那么内存的产生同时可以缓解CPU的计算压力,没有内存会爆掉,就像人又想喝咖啡又想看书又想去睡觉,你说如果没有进程没有内存是什么概念尼,一个人想做很多的事情就相当于多线程,CPU就相当于这个人,CPU要处理这种多任务的方式,如果把这些东西一次性直接塞进去,是不可能做得了的,CPU里面的东西就那么一点点,CPU会执行不了的,一次给这么多的任务,到时候电脑直接蓝屏,CPU肯定堵死在那了,就是进程阻塞,电脑很可能蓝屏或者重启,现在很好解决蓝屏,蓝屏要不就是你的内存里的东西CPU出现紊乱了,计算不过来,大脑卡死在那里了,给的任务太多堵死在那里,内存的东西是很复杂的,有了内存的东西,就会有多线程的监控,它会帮你检测哪些应用是闲置的,哪些是正在运行中的,正在运行中的会多给你一些内存,它会有这样一些机制在里面,它会有一些内存回收和分配在里面,在内存里面全帮你做掉了,那么CPU拿到内存中的东西就是稳定的运行掉,当然里面有一些算法,像堆栈。java也是一个可执行的应用程序,它里面也会产生一个exe文件,产生一个进程在里面,进程里面的东西都是一个独立的内存空间区域,它有自己的一个维护的东西,也就是你打开一个PHP的应用和一个java的应用,它在电脑里面都不会影响的,两个应用互不影响,但是CPU也就是大脑只有一个,现在CPU的计算速度是非常快的,可能一个应用是0.000几微秒就会执行掉,具体和CPU本身有关。
内存?硬盘?磁盘?内存和硬盘都有读取数据和记录数据的能力,但是内存的东西它响应的速度是非常快的,内存它有一个致命的缺点,它是临时的,如果把电脑重启或者关闭了,那么内存的东西会全部的丢失,比如打开QQ,你电脑关机之后再次打开QQ要重新登录一样,磁盘里的东西是永久存储的,只要在你电脑不坏的情况下都是永久存储在那里面的。数据库是属于磁盘性的东西,保存的每一条数据都存储到磁盘里面某一个文件里面,只是它的文件比较的特殊进行了一些加密和压缩一些算法,非常的优化,查找起来更方便更快速,如果数据库的数据不存在磁盘里面难道下次出现服务器爆掉了,难道你的数据全都丢失?或者重启了里面的数据丢失了,这是灾难性的。这就是为什么一定要学数据库,数据库中的数据都是存在磁盘里面的。当然可以对数据加索引存到内存,后面会遇到,它为了响应查询速度更快,会把一些数据存到内存中去,所以要学索引。
所有的语言,java、PHP等等它们都属于内存型语言,只要你把电脑关了,你的应用就关了。你的那些东西就会全部的丢了,但是通过语言进行磁盘操作就必须通过一个东西,所有语言都提供的和磁盘打交道的操作-IO,可以通过这样语言直接去删磁盘的文件,javascript没有但是它现在通过nodejs去弥补了,java有PHP肯定有,Ruby肯定也有操作磁盘的东西的,通过语言去进行操作,这些操作都是CPU去控制的,CPU去帮我们去执行,比如java调用命令去写文件,CPU立马做相应,它是IO进行读写。
下面以java为例:
java是内存型语言(只要你把电脑关了那么你的应用就关了,那些东西全部丢了),内存是不是有极限,内存既然有大小那么内存就有极限,理解了这些原理下面学习负载均衡就会很清楚也很有方向感,接下来学负载均衡,那大数据的数据集群服务器集群等等,你就很清楚你要怎么做,要有方向性,内存有极限8G、6G,不说内存有极限磁盘也有极限,你的硬盘1T你最多存1T的东西,存完了之后尼,你就开始加硬盘,我们处理应用越来越大的时候,举个例子,既然内存是有大小的,所以会学一个东西叫着字节,1MB=1024KB,1KB=1024B,1B(字节)=8位,和网速有关系已开始学习的时候,不知道和磁盘和内存有什么关系,位就是很多的格子,内存既然有大小,是不是会把内存的8G都给java,肯定不会的,因为电脑里面除了java这个应用还有很多其它的应用需要去打开,所有的语言都有一个内存大小的划分,在所有的语言它都会设定它内存的上限,到了这个设定的上限之后它就会出现警告或者内存溢出,不可能全部给你,因为每个语言它会核算一个数量,根据这个极限来核实到底多大的数值,语言它都是规定了的,不是我们来规定的,但是我们可以改变它这个是可以的,这就是我们开发应用的时候突然内存溢出是什么原因,是因为已经超出了JDK里面虚拟机设定我们内存的上限,它就会出现内存溢出。磁盘你的MYSQL和Oracle一样会出现磁盘溢出的,磁盘溢出,就是磁盘IO什么什么space,说明磁盘满了,超出了磁盘的存储能力,接下来要赶紧的加磁盘,或者做数据库的集群,这是接下来要做的事情。

java是内存型语言,java给我们的内存到底瓜分了多少尼,现在已经瓜分了64MB,在JDK1.6里面是64MB,不知道JDK1.7和JDK1.8中到底提升了没有,这个东西是可以改变的,提升到128,说白了就是内存中给java128,上线最大128,这个很重要,未来一定会出现内存溢出的,除非只写一个helloworld的程序,那肯定不会出现内存溢出,当然是可以调整,调整也是根据你的电脑去进行调整,不可能说调个1280,这是不可能的,这是不可以的,这种调配是根据电脑的配置和这些东西有关系,不是随便给一个数字就可以的。既然有大小,那么它里面是怎样去写入的,以什么样的形态去写入的,既然是语言,那么计算机最终都会转换成计算机代码,也就是我们的bit代码(二进制代码)。在编码的过程中java是一种给予编译和运行的一门语言,它写代码和运行代码是进行分离的,说白了,就是编写代码的过程和运行代码的过程它是进行分离的,它最终会帮我们转换成机器码,也就是0、1代码(不只是java语言,适用于所有的语言),这就是为什么在学java里面要去学二进制转换,无需深入了解就可以了,这就是为什么一定要了解二进制是什么原因,因为要了解内部的存储结构是什么样子。我们的语言接收到我们的解析器,java有java的解析器、虚拟机,根据它的语意去写代码的时候它会去编译,在解析阶段就会把它变成我们的0、1代码进行存储,存储在java的内存区域里面也就是java的虚拟机,我们写的任何代码都会把它放在java的虚拟机里面进行运行,当放到这个内存区域之后它是运行着的,因为它放在内存里面的,当读到这个内存区域的时候,它会发指令,java这个可执行程序它会给我们的CPU发送指令,java JDK里面有个指令器,它会不断的给CPU去发送指令,这里有东西要执行了你(CPU)赶紧过来执行,java虚拟机不断的给CPU发送指令,就像有蛋糕了,告诉CPU你赶紧过来吃,CPU把执行的结果返回给java的指令器,赶紧去执行,执行之后就会改变这个内存区域的状态,CPU是很忙的,一直在工作。所以在开发里面要知道什么是二进制,内存区域是怎么去存储的,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,784评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,745评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,702评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,229评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,245评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,376评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,798评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,471评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,655评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,485评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,535评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,235评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,793评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,863评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,096评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,654评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,233评论 2 341

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,621评论 0 11
  • 1.Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? 关于boolean的说明: boolean...
    大弃阅读 1,006评论 0 12
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,163评论 11 349
  • 我在努力成为一个更好的自己 千万不要成为自己所讨厌的人 我在慢慢融入 可是却要分开了 也许应该早点珍惜
    Lucky黑girl阅读 113评论 0 0
  • 漫话书籍中的插图 最近闲来无事,偶从书架上取来漓江出版社出版的《世界文学名著...
    申维希阅读 378评论 0 4