首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

漫画 | Java语言是如何诞生

历经颇多曲折,才迎来光明Java语言,作为一名使用者你,是否对它诞生/历史发展进程、背后创造者(Java之父),有着很多疑惑呢?到底是一个什么样的人,才能写出如果优秀语言?...今天,本文将用漫画形式带你倒回历史长河,一起探索Java语言起起伏伏诞生历程及Java之父成长~ PS: Java之父,人物主人公名叫:James Gosling,统一以中文名:詹姆斯.高斯林称呼...具有强大生命力编程语言Java诞生了、在一片混乱中诞生了....至此,Java语言诞生部分就到这里结束了。时间回到2021年今天,java已经走过了近30年,互联网快速发展它可以说是功不可没。...以下是它迭代史: 1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1996年4月,10个最主要操作系统供应商申明将在其产品中嵌入JAVA技术 1996年9月,

74640

记录网站诞生过程-使用hexo+github pages

博客地址 此博客记录了搭建网站详细过程,以及建站过程中遇到一些坑。博客介绍了安装homebrew,nodejs,hexo,域名注册,github设置,DNS解析等过程。此次建站过程基于mac系统。...这个设置是防止别人往你项目里提交内容。 注意: 输入密码时候没有*字样,你直接输入就可以了。 最后看到这样界面,就成功设置ssh key了: ?...GitHub 也是用这些信息来做权限处理,输入下面的代码进行个人信息设置,把名称和邮箱替换成你自己,名字必须是你真名,而不是GitHub昵称。...添加记录 其中A两条记录指向ip地址是github Pages提供ip 192.30.252.153 192.30.252.154 如博客不能登录,有可能是github更改了空间服务ip地址,...www指定记录是你在github注册仓库。

62930
您找到你想要的搜索结果了吗?
是的
没有找到

CPU诞生记|CPU制造全过程详解

同时在多数情况下,必须尽量限制pMOS型晶体管出现,因为在制造过程后期,需要将N型材料植入P型衬底当中,而这一过程会导致pMOS管形成。 在掺入化学物质工作完成之后,标准切片就完成了。...● 光刻蚀 这是目前CPU制造过程当中工艺非常复杂一个步骤,为什么这么说呢?光刻蚀过程就是使用一定波长光在感光层中刻出相应刻痕, 由此改变该处材料化学特性。...这项技术对于所用光波长要求极为严格,需要使用短波长紫外线和大曲率透镜。刻蚀过程还会受到晶圆上污点影响。每一步刻蚀都是一个复杂而精细过程。...这个掺杂过程创建了全部晶体管及彼此间电路连接,没个晶体管都有输入端和输出端,两端之间被称作端口。 ● 重复这一过程 从这一步起,你将持续添加层级,加入一个二氧化硅层,然后光刻一次。...在CPU包装过程完成之后,许多产品还要再进行一次测试来确保先前制作过程无一疏漏,且产品完全遵照规格所述,没有偏差。

1K10

你不知道秘密 深探IPhone诞生过程

感谢苹果与三星专利“核战”,苹果才稍微肯让人知道他们是如何开发产品——如果你以为在苹果内部,产品开发就好像外界传言般浪漫,这绝对是误解。...现在,Wired记者 Fred Vogelstein 对苹果前员工进行采访,挖掘更多更深内幕。...为了达到理想中演示效果,Steve Jobs 让工程师们花几个星期时间,改造舞台影像传输网路,还有 iPhone 机身后盖。...当时日本 Wi-Fi 禁止在美国使用。 Grignon 当时拥有来自 AT&T 携带式无线基站,因此他知道现场无线信号是强劲。...Tim Bucher,当时苹果高级主管称,在利用多点触摸技术时候,公司所遭遇最大难题在于软件部分。OS X 最初设计是为鼠标设计,而非手指。

98160

产品诞生过程:每个环节都细致入微

当我们提到一些常见功能时,可以一笔带过,简单描述一下就可以了,比如:对于微信登录,手机号注册。 那如果我们提到是一些比较复杂,具备一定创造性功能时候,又该如何呢?...对于产品经理而言,我们有义务将一个idea转化成可用代码实现方案,实际上这个转化过程正是产品经理重要技能一环。 不仅仅是想到需求,还要确保需求可被实现。 ?...扩展 我们所说异常保护,就是在上述过程中,每一个环节都有可能出现错误,我们无法将所有的错误都进行预设,通常会将异常做分类。 没有返回以及返回信息,不是“对”,也不是“错”。...这个是基于分享泳道图,他能满足我们分享需求,但显然,这不能完成案例中复杂逻辑。我们来看看另外一副泳道图。 ? 这个图补充了B用户在微信打开被分享出来链接所对应操作,但是这任然是不够。...访问者ID加上分享者ID再加上一些其他参数,生成一个新参数,我们可以将其称为幸运ID。 B用户只要在注册过程中,甚至注册以后正常使用过程中,输入这个幸运ID,就能建立起这道桥梁。

68650

java编译过程_Java编译运行过程

大家好,又见面了,我是你们朋友全栈君。 Java编译运行过程 在上一篇文章中,我们了解了第一个Java入门程序,以及如何编译和运行第一个Java程序。...1 Java程序编译过程 在编译时,Java文件由Java编译器(它不与底层操作系统交互)将Java代码转换为字节码(.class)。...2 Java程序运行过程Java程序运行中,会执行以下步骤: 类加载器(Classloader):类加载器是JVM子系统,用于加载类文件。...3 两个常见问题 3.1 Java源文件命名方式 问题:一个class名称为Simple,Java源文件名称可以不是Simple.java么?...答案是可以,但是前提是该类不是public修饰符。 3.2 一个Java源文件写多个类 问题:一个Java源文件中可以写多个类么? 答案是可以

2.1K10

Lambda诞生

懵懂记得从前有个叫委托东西是那么高深难懂。 委托使用 例一: ? 什么是委托? 个人理解:用来传递方法类型。...(用来传递数字类型有int、float、double,用来传递方法就有委托) 例二: ? 又经过了很久很久... 匿名方法 很多时候委托接收方法是一次性或者方法体是非常简单......细心朋友可能看到了,Func相对于AddDelegate多定义了一个int。多出了那个是指的是返回类型。我们F12看对应定义: ?...C#4中Action和Func有16个参数,足够你用了。 我们等了又等,又过了好久好久... Lambda诞生 ? 我XX,这TM就是亲兄弟啊。...关于第2点,我们使用扩展方法链式编程来解决。 如:(用链式来解决第二点) ? 从此,我们过上了幸福生活... 借《深入理解C#》中一图: ?

55310

接口诞生

接口诞生 接口其实就是一种标准一种规范。 先从生活中例子讲起,理解含义和概念后,再去理解程序会更容易理解一些。...生活中例子讲完,我们来延申到程序。 每项技术产生,肯定是有其原因。理解了技术诞生经过,一般也就理解了技术本身。 那接口是如何诞生呢?...在接口诞生我们说过,抽象类更进一步地抽象后就诞生了接口,接口比抽象类更纯粹,因为它没有成员属性,只有方法,子类实现接口后,唯一能做就是重写方法,不像抽象类,子类继承抽象类后,连带父类成员属性一起继承了...一定要去理解 Java 设计者背后意图,为什么突然在Java 8就加了这个特性呢?...因为Java 8 许多原有的接口,新增了很多方法,这些新增方法会影响到之前子类如果你继承了某个接口,突然接口新增了一个方法,而你没有去实现,你子类就会编译失败,为了保证向下兼容性,Java 8就推出了

30020

JDBC 诞生

这里向大家推荐一篇文章,本文转载自「码农翻身」「JDBC诞生」 网络访问 随着 Oracle, Sybase, SQL Server, DB2, Mysql 等人陆陆续续住进数据库村,这里呈现出一片兴旺发达景象...更让人恶心是,每套代码都得处理非常多协议细节,每个使用Java进行数据库访问程序都在喋喋不休抱怨:我就想通过网络给数据库发送SQL语句,怎么搞这么麻烦?...面向接口编程 第一个使用JDBC,叫做学生信息管理程序很快发现了问题,跑来质问Java: “你这个Connection 接口设计有问题!” Java 说: “不可能, 我设计多完善啊!”...肯定不能直接 new , Java似乎陷入了鸡生蛋、蛋生鸡无限循环中了。...无论是任何数据库,只要正确实现了 Driver,Connection 等接口,就可以轻松纳入到JDBC框架下了。 Java终于可以高兴宣布: “JDBC正式诞生了!”

72730

Java对象创建过程

这是我参与「掘金日新计划 · 12 月更文挑战」第37天,点击查看活动详情 Java对象创建过程 类加载检查:虚拟机遇到⼀条 new 指令时,首先将去检查这个指令参数是否能在常量池中定位到这个类符号引...如果没有,那必须先执行相应类加载过程。 分配内存:在类加载检查通过后,接下来虚拟机将为新⽣对象分配内存。...分配⽅式有“指针碰撞”和“空闲列表”两种,选择哪种分配⽅式由Java堆是否规整决定,⽽Java堆是否规整⼜由所采⽤垃圾收集器是否带有压缩整理功能决定。...内存分配两种⽅式 选择以上两种⽅式中哪一种,取决于 Java 堆内存是否规整。...内存分配并发问题 在创建对象时候有⼀个很重要问题,就是线程安全,因为在实际开发过程中,创建对象是很频繁事情,作为虚拟机来说,必须要保证线程是安全,通常来讲,虚拟机采⽤两种⽅式来保证线程安全: CAS

10510

Java代码编译过程

知识手册里写 仿佛我从来没学过一样 有点沉不下心来看 整理一下 笔记 从Javac代码总体结构来看,编译过程大致可以分为1个准备过程和3个处理过程,它们分别如下所示。 1....准备过程:初始化插入式注解处理器。 2. 解析与填充符号表过程,包括: 词法、语法分析,将源代码字符流转变为标记集合,构造出抽象语法树。 填充符号表,产生符号地址和符号信息。 3....插入式注解处理器注解处理过程: 在Javac源码中,插入式注解处理器初始化过程是在 ** initPorcessAnnotations() ** 方法中完成,而它执行过程则是在processAnnotations...分析与字节码生成过程,包括: 标注检查,对语法静态信息进行检查。 数据流及控制流分析,对程序动态运行过程进行检查。 解语法糖,将简化代码编写语法糖还原为原有的形式。...上述3个处理过程里,执行插入式注解时又可能会产生新符号,如果有新符号产生,就必须转回到之前解析、填充符号表过程中重新处理这些新符号,从总体来看,三者之间关系与交互顺序如图所示。 ?

92220

Java对象创建过程

下图便是 Java 对象创建过程: Java创建对象过程 ?...如果没有,那必须先执行相应类加载过程。 分配内存: 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。...分配方式有"指针碰撞"和"空闲列表"两种,选择那种分配方式由 Java 堆是否规整决定,而Java堆是否规整又由所采用垃圾收集器是否带有压缩整理功能决定。 ?...选择以上两种方式中哪一种,取决于 Java 堆内存是否规整。...内存分配并发问题 在创建对象时候有一个很重要问题,就是线程安全,因为在实际开发过程中,创建对象是很频繁事情,作为虚拟机来说,必须要保证线程是安全,通常来讲,虚拟机采用两种方式来保证线程安全:

89100

java对象创建过程

面试官:创建java对象有哪几种方式? 小白:new、clone、反射、反序列化。 面试官:那你知道 new 一个对象时候,JVM 做了哪些事吗?说说具体过程。...所以你知道 new 一个对象时候做了哪些事,具体过程是怎样吗?其实主要经历了如下过程: 检查类是否加载过; 分配内存; 1....java 对象头包括: Mark word:存储对象自身一些数据,比如 hashCode,gc 分代年龄等; Klass pointer:存储指针,JVM 通过这个指针来确定该对象是哪个类实例; array...执行init方法: 经过上面四个步骤,一个新 java 对象就已经产生了,最后就是执行 init 方法,让对象按照程序猿意愿,进行初始化。什么叫按照程序猿意愿初始化?...就是你 new 对象时候传了哪些参数,属性值是什么。 内存分配过程中,如何保证线程安全呢?JVM 采用 TLAB + CAS 方式保证线程安全。

55610

Java】类加载过程

加载过程加载过程又分为三个步骤: 过程1:类装载(Loading) 将类class文件读入内存,并为之创建一个java.lang.Class实例对象,此过程由类加载器(负责类加载,对应一个...过程2:链接(Linking) 验证(Verify):确保加载信息符合JVM规范,例如:每一个class文件都以cafebabe开头,没有安全方面的问题。...准备(Prepare):正式为类中(static)静态变量分配内存,并设置默认初始化值阶段。这些内存都在方法区中进行分配。...解析(Resolve):虚拟机常量池内得符号引用(常量名)替换为直接引用(地址)过程过程3:初始化(initialization) 执行类构造器方法过程。...执行所有类中(static)静态变量和(static)静态代码块中语句赋值动作,这些操作都在方法中进行。 因为类加载过程中还没有对象存在,因而赋值操作也只能是对静态变量进行。

28720

Hadoop 诞生历史

Lucene 诞生 故事发生于 1997 年某个下午,Doug Cutting 在电脑上敲下 Lucene 第一个版本代码。 Apache Lucene 是一款搜索引擎,可以理解为百度。...这个时候,Cuting 发现很多人开始使用他开发软件了,并且很多人向他反馈使用过程问题和希望改进地方。再过了一年,Lucene 迁移到了 Apache Software Foundation。...在论文中,Cuting 和 Cafarella 找到了解决上述四个问题思路,并尝试使用 Java 实现论文里想法。2004年,Nutch 分布式文件系统 (NDFS)完成了。...“但那是用 Java 编写”,工程师抗议道,“它怎么能比我们强大 C++ 系统更好?”。随着来自老板和数据团队压力越来越大,他们决定将这个全新开源系统纳入考虑范围。...Facebook 贡献了 Hive,它是基于 MapReduce SQL 引擎。 2008 年,也是第一家专注于 Hadoop 专业系统集成商诞生一年。

1.3K40

Java编程开发过程回顾

对于“数据”这个关键词,要有自己理解。数据是什么,在开发中是如何对待数据。其实数据在面向对象编程中是类对象,在面向过程编程中是叫结构体术语,都是描述数据一种计算机编程概念。...计算机硬件内存条里面分配就是运行内存。在Java中,Java虚拟机封装了很多东西,有垃圾回收器,有可以跑字节码文件。...刚毕业时候,接触过前端开发框架,编写前端页面。开发效果很好,总算是看到页面效果了。后台有很多代码业务逻辑需要处理,数据处理过程没那么简单。...导入是把Excel中数据导入到数据库中。Excel导入校验是开发过程中第一个模块,只有校验成功之后数据才是正确可信,才能入库保存。...读文件和写文件效率是十分低下,把磁盘中文件加载到内存中,通过中央系统处理器处理之后要持久化到磁盘中,这个过程消耗时间太多。时间响应指标对用户体验影响十分大。

55230

走进JavaWeb技术世界9:Java日志系统诞生与发展

,另外也将赠送作者原创Java学习指南、Java程序员面试指南等干货资源) Java日志系统演变史 我们先看一个故事。...阶段五 在这个卸载与上新过程中,老D工作量陡增,他感觉很累。...比较巧是slf4j作者(Ceki Gülcü)就是log4j作者,他觉得JCL不够优秀,所以他要自己搞一套更优雅出来,于是slf4j日志体系诞生了,并为slf4j实现了一个亲子——logback...到此本来应该完了,但是Ceki Gülcü觉得还是得回头拯救下自己“大阿哥”——log4j,于是log4j2诞生了,同样log4j2也参与到了slf4j日志体系中,想必将来会更加混乱。...JCL(commons-logging) 由于项目的日志打印必然选择两个框架中至少一个,这时候,ApacheJCL(commons-logging)诞生了。

43320

走进JavaWeb技术世界9:Java日志系统诞生与发展

,另外也将赠送作者原创Java学习指南、Java程序员面试指南等干货资源) <!...阶段五 在这个卸载与上新过程中,老D工作量陡增,他感觉很累。...比较巧是slf4j作者(Ceki Gülcü)就是log4j作者,他觉得JCL不够优秀,所以他要自己搞一套更优雅出来,于是slf4j日志体系诞生了,并为slf4j实现了一个亲子——logback...到此本来应该完了,但是Ceki Gülcü觉得还是得回头拯救下自己“大阿哥”——log4j,于是log4j2诞生了,同样log4j2也参与到了slf4j日志体系中,想必将来会更加混乱。...JCL(commons-logging) 由于项目的日志打印必然选择两个框架中至少一个,这时候,ApacheJCL(commons-logging)诞生了。

45400

“奥利奥”诞生

甜品来命名。...发布会时间只有短短55秒,可以说比一个简单自我介绍时间还要短。不如说是全球最短发布会了。之所以确定为“奥利奥”,个人认为最大攻城还是这次日全食。因为日全食过程更像奥利奥生产过程。 ?...1.关于通知:以前通知都是一大串,现在我们可以设置重要通知,拦截那些无关紧要通知信息。相当于我们垃圾短信拦截把。...这样好处是在一款设备上,播放影片同时不影响其他工作。 ? 当然,这几个只是比较突出。...,除了几个功能上更新,Android 8.0 还加强了限制后台应用运行来提升设备续航能力,同时还改进了蓝牙音频,并新增了 Google Play Protect 机制,定期扫描所以应用保证设备安全

93460

信息超新星诞生

目前热炒“大数据”概念,其实也是“信息能”体现之一,众多中国公司都在此领域挖掘和耕耘,相信在不久未来,我们生活方式会有令人惊喜变化。...文章内容 信息超新星诞生 文/Michael Saylor 译/邹韬 移动技术将改变商业运作方式,它将改变整个工业以及它们所推动经济。...现金能够记录单笔交易信息,甚至具体到某人购买了什么食物;而电子商务系统不仅能完整地保留你每一笔购买记录,还可以跟踪你所查询产品;道路传感器监控着交通;条形码扫描器记录了每管牙膏从生产商到你购物袋过程...我们正在见证一颗超新星诞生。移动计算技术有潜力让这个数据量变得更大。 在网络革命之前,即使最出色商务数据库也只能跟踪购买交易。...他们可以发现什么品牌电视机非常受欢迎,以至于人们不用比较浏览就直接购买。自动化零售商可以掌握关于产品实质和关于消费者决策过程关键信息。

602100
领券