002-002-001-Java编写期
文章平均质量分 90
以使用的视角看java语法
yuku1234
这个作者很懒,什么都没留下…
展开
-
000_目录
目录原创 2024-08-28 10:35:00 · 253 阅读 · 0 评论 -
001_HelloWorld入门
纵观整个it的发展史,刚开始是没有高级语言的,只有"机器语言",类似于跑在单片机上那种机器可以直接识别的代码指令。机器码执行效率很高,但是编写代码很费劲,开发效率和可读性都很差。我是机械专业的,接触过这种编程.。被逼着写机器码的那段日子实在是苦不堪言,那个时候觉着这个东西根本不是人玩的。世界上大部分人肯定和我有着一样的想法,其中又聪明又懒惰的哥们儿就开始动脑筋,一步一步把机器码的编程逐步转换为对人类友好的编程模式,然后各种富有语义化的编程语言就诞生了。原创 2024-07-16 11:05:30 · 912 阅读 · 0 评论 -
002_基本数据类型与运算符
为了能够让计算机明白一个整数,我们就要先理解什么是进制。我们数学上是按照10进1位的方式来描述一个数的,这也和人的生理结构相关。我们有10个手指头。所以可以想象到,古人数数是直接拿着手指头去掰的。还有一种计数呢,是按照手指头的节数数,一根手指头是3节,当三节用完,就让第二根手指的某个节弯曲,这也同样可以数出数字来。这里就有天生的,10进制,3进制的说法了。那我们就有这样的定义:x进制,指的就是数数的时候,数到x就清零,数值高位进一。即逢x进1。目前计算机是使用二进制的,为什么偏偏是二进制?原创 2024-07-16 11:06:02 · 883 阅读 · 0 评论 -
003_流程控制与数组
前面我们推演出,应该有个东西,可以天生很自然的表达出顺序关系,每个顺位上放着你想要的东西。java里面就有,叫做数组。这个时候,我们正儿八经地赋予"数组"的语法:上面两种定义数组的写法都是可行的,但是回过头一想,数组本身是一种数据结构,是一种引用类型。因此Type[]更像是一种新的类型,容易理解,建议使用第一种形式。所有的语言格式都是认为设计出来的,你或许有更好的表达方案,就像世界上有那么多种语言,但是在表达具体东西的时候,语言本身是不确定的,唯一确定的是其语言背后所表达的含义本身。原创 2024-07-16 11:06:36 · 234 阅读 · 0 评论 -
004_面向对象编程
上面我们描述了【对象】与【类】的关系,回归到语言设计层面,第一件要做的事情就是定义出【类】的描述语法。回顾前面的分析,【类】是一种模板,天生描述了使用这个模板制造出来的【人】应该具备的性质。那么我们就需要去考虑一个问题:不同的【人】,本质上什么东西是不一样的?换句话说,是什么东西的不同导致了【人】的不同。稍加思考,回归最开始对世界的认知抽象:我们认定一个对象天生具备两种东西:【信息】与【能力】。设计者认为:【能力】是需要诞生之后方可显现的,而【信息】是【对象】诞生之初就应该具备的。原创 2024-07-17 14:51:19 · 858 阅读 · 0 评论 -
005_异常处理
如果要自定义异常类,则扩展Exception类即可,因此这样的自定义异常都属于检查异常。如果要自定义非检查异常,则扩展自RuntimeException。一个无参构造函数一个带有String参数的构造函数,并传递给父类的构造函数。一个带有String参数和Throwable参数,并都传递给父类构造函数一个带有Throwable 参数的构造函数,并传递给父类的构造函数。super();原创 2024-07-16 11:07:52 · 600 阅读 · 0 评论 -
006_集合框架体系
代码 = 数据结构 + 算法。JDK内部的集合框架就是方便我们处理数据的一系列工具。原创 2024-07-19 17:41:44 · 304 阅读 · 0 评论 -
007_日志体系
在系统运行的时候,不可避免的会出现问题,这个时候就需要进行排查,而排查的最简单的方式就是查看日志。一些关键位置的日志输出会给开发者排查问题带来巨大的方便。而我们java的日志体系可以说非常复杂。这里我们就研究下java的日志体系。这里先把日志的关系拉出来,你就有很大的感触了。这都什么玩意儿!!原创 2024-07-23 09:09:34 · 708 阅读 · 0 评论 -
008_泛型机制
泛型(generics)是JDK1.5引入的一个新特性,泛型的本质是参数化类型,也就是说,可以把数据类型指定为一个参数,这个参数类型可以用在类、接口和方法的创建中。原创 2024-07-16 11:08:46 · 366 阅读 · 0 评论 -
009_注解机制
然后在注解内添加属性,注解的属性是以无参方法的形式声明的。class A{}所有基本类型(int,float,boolean,byte,double,char,long,short)引用类型:String,Class,enum,Annotation上述类型的数组//声明枚举//布尔类型//String类型//class类型Class<?//注解嵌套//数组类型@Demo(name="吃饭",class A{}编译器对元素的默认值是有要求的。原创 2024-07-17 16:56:59 · 875 阅读 · 0 评论 -
010_反射机制
Class类也是类的一种,与class关键字是不一样的。手动编写的类被编译后会产生一个Class对象,其表示的是创建的类的类型信息,而且这个Class对象保存在同名.class的字节码文件,每个通过关键字class标识的类,在内存中有且只有一个与之对应的Class对象来描述其类型信息,无论创建多少个实例对象,其依据的都是用一个Class对象。Class类的对象作用是运行时提供或获得某个对象的类型信息,这点对于反射技术很重要。原创 2024-07-29 16:06:06 · 378 阅读 · 0 评论 -
011_IO体系
Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出源抽象表述为"流"。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。流有输入和输出,输入时是流从数据源流向程序。输出时是流从程序传向数据源,而数据源可以是内存,文件,网络或程序等。I/O分类IO体系是复杂的,涉及到的类的数量很多,而我们去接纳这个体系的前提就是有大局原创 2024-08-26 14:58:34 · 737 阅读 · 0 评论 -
012_多线程编程
理解并发并行与并发最开始的时候,我们手里只有二极管,使用二极管搭建出一大堆的电路,这个电路具备一个能力:从某个地方加载一条一条指令并执行然后将数据写到某个位置。我们叫这个大电路为CPU。让CPU干活的方式就是给它一堆指令然他一条一条执行。这个时候问题来了,比如说你准备了一段代码,估计要运行一天,另外一个哥们儿也抱着一段代码想给CPU跑,预计就跑三分钟。大家都是文明人,肯定是你先跑,中间不停,另一个哥们儿等上一天。虽然这样可以,但是这种事儿一多,另一个哥们儿总有点怨言:难道不能中间停下一会会儿给我用一下?原创 2024-08-28 10:18:07 · 457 阅读 · 0 评论