java
文章平均质量分 68
Ndjzkzkbz
这个作者很懒,什么都没留下…
展开
-
HTML语音基础
许多HTML标签都可以设置一个或多个属性来控制标签的显示效果,例如,标签中的 behavior、原创 2023-04-24 19:32:10 · 337 阅读 · 0 评论 -
11 网络编程
用第三个构造函数创建 DatagramSocket 对象,除了指定自己想要的端口号外,还可以指定相关的 IP 地址,这种情况适用于计算机上有多块网卡和多个 IP的情况,我们可以明确规定我们的数据通过哪块网卡向外发送和接收哪块网卡收到的数据如果在创建 DatagramSocket 对象时,我们没有指定网卡的IP 地址,在发送数据时,底层驱动程序会为我们选择其中一块网卡去发送,在接收数据时,我们会接收到所有网卡收到的与程序端口一致的数据,对于一般只有一块网卡的情况,就不用专门指定了,发送和接收时肯定都是它。原创 2023-04-21 17:46:18 · 291 阅读 · 0 评论 -
6.7 System类与Runtime类
当我们要将一个字符串转换成 Date 类对象时,字符串中代表年份的字符必须在模版中 yyyy 的位置,y的个数指定了年的位数,在字符串中除了这些格式字符要被真实的日期数字替代之外,其他的字符必须原样出现,如:表示时间的字符串中的“_”的位置必须和创建 SimpleDateFormmat 类对象时“-”的位置一样,同理,我们将日期转换成的字符串格式也是按照创建 SimpleDateFormat 类对象时指定的字符串格式而输出的。对于在用户正常操作下,终止虚拟机的运行,传递零值。原创 2023-03-28 18:36:55 · 85 阅读 · 0 评论 -
6.3 String类和StringBuffer类 - 6.6 hashtable与properties类
因为 String类已按关键字类的要求覆盖了这两个方法,如果两个 String 对象的内容不相等,它们的hashCode 的返回值也不相等,如果两个 String 对象的内容相等,它们的 hashCode 的返回值也相等,所以,我们在实现自己编写的关键字类的hashCode 方法时,可以调用这个关键字类的 String 类型的成员变量的hashCode 方法来计算关键字类的 hashCode 返回值。Java 对数据既提供基本数据的简单类型,也提供了相应的包装类(也有的书中叫包裹类)。原创 2023-03-27 17:37:10 · 51 阅读 · 0 评论 -
5.3 线程间的通信
我们要求的结果是,Producer 放一次数据,Consumer 就取一次,反之,Producer 也必须等到 Consumer 取完后才能放入新的数据,这就是我们要讲到的线程间的通信问题,Java 是通过Object类的 wait、notify、notifyAll这几个方法来实现线程间的通信的,由于所有的类都是从 Obiect 继承的,因此在任何类中都可以直接使用这些方法。我们的应用包含两个线程,一个线程向数据存储空间添加数据(生产者),另一个线程从数据存储空间中取出数据(消费者)原创 2023-03-25 16:06:10 · 52 阅读 · 0 评论 -
5.2 多线程的同步
一个线程执行到synchronized(obiect)语句处时,先检查 obiect 对象的标志位,如果为0状态,表明已经有另外的线程的执行状态正在有关的同步代码块中,这个线程将暂时阻塞,让出 CPU 资源,直到另外的线程执行完有关的同步代码块,将 obiect 对象的标志位恢复到1状态,这个阻塞就被取消,线程能够继续往下执行,并将 obiect 对象的标志位变为0状态,防止其他线程再进入有关的同步代码块中。死锁是一种少见的、而且难于调试的错误,在两个线程对两个同步对象具有循环依赖时,就会出现死锁。原创 2023-03-24 11:26:30 · 46 阅读 · 0 评论 -
5.1 如何创建和了解多线程
(2)启动一个新的线程,不是直接调用 Thread 子类对象的run 方法,而是调用Thread子类对象的 start(从Thread 类中继承的)方法,Thread 类对象的 start 方法将产生一个新的线程,并在该线程上运行该 Thread 类对象中的 run 方法,根据面向对象的多态性,在该线程上实际运行的是Thread 子类(也就是我们编写的那个类)对象中的 run 方法。(1)要将一段代码在一个新的线程上运行,该代码应该在一个类的 iun 函数中,并且run函数所在的类是Thread类的子类。原创 2023-03-23 10:37:08 · 69 阅读 · 0 评论 -
4.7 使用jar文件
我们开发了许多类,当需要把这些类提供给别人使用时,通常都会将这些类压缩到一个jar 文件中以jar包的方式提供给别人使用只要别人的 classpath 环境变量的设置中包含这个iar文件Java 虚拟机就能自动在内存中解压这个 jar文件,把这个jar 文件当作一个目录,在这个jar文件中去寻找所需要的类及包名所对应的目录结构。jar命令是Java 中提供的一个非常有用的命令,可以用来对大量的类 (class 文件)进行压缩然后存为iar 文件。通过 iar 命令所生成的iar 压缩文件有什么优点呢?原创 2023-03-22 08:49:16 · 60 阅读 · 0 评论 -
4.5 包
但父包和子包在使用上没有任何关系,如父包中的类调用子包中的类,必须引用子包的全名,而不能省略父包名部分。类似上面的这个问题,在实际应用中也是经常发生的事情,虽然编译了一个修改过的.java 源文件,但运行可能是某个旧的.class 文件,特别是旧的.class 文件所在的目录在classpath 环境变量中的位置,位于新的.class 文件所在的目录的前面,问题就更加隐蔽了,当我们在编程过程中遇到了问题,有时并不是程序本身所带来的问题,需要我们放眼全局,思路更加开阔一些,从多个方面去思考和解决问题。原创 2023-03-20 10:17:29 · 44 阅读 · 0 评论 -
时间日期类 集合概述 Collection 增强for
把从时间原点开始,过了指定毫秒的时间,封装成一个 Date对象需要考虑时差问题。lteratoriterator( ): 返回集合中的选代器对象,该选代器对象默认指向当前集合的0索引。lteratoriterator( ):创建选代器对象,默认指向当前集合的0索引。JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现。是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素。1,数组的长度是不可变的,集合的长度是可变的。原创 2023-03-20 09:56:47 · 68 阅读 · 0 评论 -
3.19 ApI 异常
递归解决问题的思路把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算。程序在执行过程中,出现的非正常的情况,最终会导致JVM 的非正常停止注意:语法错误不算在异常体系中。将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的转换。5,如果要查找的值在mid的左半边,那么min值不变,max= mid-1.继续下次循环查找。1,定义两个变量,表示要查找的范围。原创 2023-03-19 17:06:58 · 58 阅读 · 0 评论 -
4.2接口 4.3对象的多态性
(2)派生类的功能可以被基类的方法或引用变量调用,这叫向后兼容,可以提高程序的可扩充性和可维护性。以前写的程序可以被后来的程序调用不足为奇,现在写的程序(如callA 方法)能调用以后写的程序(以后编写的一个类A的子类,如类D)就很了不起了。含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。涉及到了接口大面积更新方法,而不想去修改每一个实现类,就可以将更新的方法,定义为带有方法体的默认方法。但是可以被重写,重写的时候去掉default关键字。原创 2023-03-16 16:56:40 · 42 阅读 · 0 评论 -
4.1 类的继承
变量是基本类型:final修饰指的是基本类型的数据值不能发生改变,但是地址里面的内容是可以发生改变的变量是引用类型:final修饰指的是引用类型的地址值不能发生改变。如果子类中,也存在一个方法声明一模一样的方法可以理解为,子类将父类同名的方法,隐藏了起来,并非是方法重写。当子类需要父类的功能,而功能主体子类有自己特有内容,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据.原创 2023-03-15 16:53:31 · 114 阅读 · 0 评论 -
3.7 static 关键字
类的静态成员经常被称作“类成员”(class members),对于静态成员变量,我们叫叫类属性(class attributes),对于静态成员方法,我们叫类方法(class methods)。(3)main0)方法是静态的,因此JVM 在执行main 方法时不创建 main方法所在的类的实例对象,因而在 mmain0方法中,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,在以后的例子中会多次碰到。静态随着类的加载而加载,优先于对象存在。原创 2023-03-14 17:49:35 · 129 阅读 · 0 评论 -
集合基础
集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。不同点 : 数组的容量是固定的,集合的容量是可变的。:是一种特殊的数据类型,泛型。共同点:都是存储数据的容器。可调整大小的数组实现。原创 2023-03-13 18:27:21 · 56 阅读 · 0 评论 -
String StringBuilder
String[ ] split(String regex): 根据传入的字符串作为规则进行切割,将切割后的内容存入字符串数组中,并将字符串数组返回。public String toString() : 通过toString()就可以实现把stringBuilder转换为string。public String tostring( ):通过toString( )就可以实现把StringBuilder转换为String。public int Length () : 返回长度(宁符出现的个数)原创 2023-03-13 10:59:09 · 70 阅读 · 0 评论 -
3.3 构造函数
在成员方法中,对访问的同类中成员前加不加 this 引用,效果都是一样的,这就好像同一个公司的职员彼此在提及和自己公司有关的事时,不必说出公司名一样,当然为了强调,可以加上“咱们公司·..”这样的前缀,在程序里同样可以如此,而 his 就相当于“我所属于的那个对象”。在构造方法里不含返回值的概念是不同于“void”的,对于“public void Person()”的写法就不再是构造方法,而变成了普通方法,很多人都会犯这样的错误,在定义构造方法时加了“void”,结果这个方法就不再被自动调用了。原创 2023-03-12 16:58:16 · 49 阅读 · 0 评论 -
3.2 类与对象
str1和str2分别指向了两个新创建的String类对象尽管创建的两个String实例对象看上去一模一样,但他们是两个彼此独立的对象,是两个占据不同内存空间地址的不同对象str1 和 str2分别是这两个象的,也就是 str st2 值是这两象的内存地址,显然他们的值是不相等的。str1和 st2就好比是一对双胞胎兄弟的名称,尽管这对双胞胎兄弟长相完全一模一样但他们不是同一个人,所以,是不能等同的,st3 就好比是为 str1 取的一个别名,st3 和 stl代表的是同一个人,所以,它们是相等的。原创 2023-03-11 17:12:00 · 45 阅读 · 0 评论 -
3.1 面对对象的概念
这是一种主语与谓语的关系,程序。下面的讲解主要是为了迅速理解面向对象的内涵而来的,不见得非常严谨和完全正确,但我个人认为是合理的,是我的体会和认识,我也曾经用过同样的方式,让许多人仿佛一下子就明白了什么是面向对象什么是面向对象,这是一个相对概念,是相对面向过程而言的。虽然读者在下面的讲解中会发现面向对象的知识远不止这一点(刚才讲的只是面向对象的一个方面,即封装性,用类封装了数据与函数),真正能体现面向对象的强大优势的地方,是在面向对象的继承与多态性方面,但作者认为,封装性是面向对象的根源和最根本的属性。原创 2023-03-11 08:49:25 · 50 阅读 · 0 评论 -
2.6 二维数组
另外,作者故意对intxxr01itxx1]这两个数组引用变量用不一样的方式书写,如果还记得前面讲过的一维数组的几种表示方式,就知道作者想达到一箭双雕的目的,既帮助读者巩固前面所学的知识,又便于读者通过对比而真正理解作者“把 xx[11想成是一个普通的变量名”的思想。xx中的每个元素变量(xx[0]到xx[n-11)正好又是一个整数类型的数组引用变量注意,这里只是要求每个元素都是一个数组引用变量,并没有要求它们所引用数组的长度是多少,也就是每个引用数组的长度可以不一样,我们还是看看下面的程序代码。原创 2023-03-11 08:44:51 · 62 阅读 · 0 评论 -
3.10 方法
返回值类型 方法操作完毕之后返回的结果数据,所对应的数据类型如果方法操作完毕,没有数据 返回,这里写void而且方法体中一般不写return。方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写如果要编写return,后面不能跟具体的数据。方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用。方法没有被调用的时候,都在方法区中的字节码文件(class)中存储。原创 2023-03-10 12:08:36 · 52 阅读 · 0 评论 -
2.3 函数与函数的重载
以上代码中,我们提出的这段代码就是函数体,用来标记这段代码的“名称”(drawRectangle),就是函数名,函数名和函数体共同组成了函数,在Java 中,我们也称之为方法。这个函数需要接受两个整数类型的参数,一个代表矩形的宽度,另一个代表这个矩形的高度。形式参数X和y就相当于函数 getArea 中定义的两个局部变量,在函数被调用时创建并以传入的实参作为初始值,函数调用结束时也就被释放了,不会影响到主程序中其他的x和y(如果有的话),因为它们属于不同作用域中的变量,它们是互不相干的变量。原创 2023-03-10 09:30:06 · 64 阅读 · 0 评论 -
2.2变量及变量的作用域
系统分配的内存单元要使用一个标记符来标识,这种内存单元中的数据是可以更改的,所以叫变量。与其他编程语言不同的是,Java 的基本数据类型在任何操作系统中都具有相同的大小和属性,不像C语言,在不同的系统中变量的取值范围不一样,在所有系统中,Java 变量的取值都是一样的。在编写程序过程中,我们经常会遇到的一种情况,就是需要将一种数据类型的值赋给另一种不同数据类型的变量,由于数据类型有差异,在赋值时就需要进行数据类型的转换这里就涉及到两个关于数据转换的概念:自动类型转换和强制类型转换。原创 2023-03-10 08:38:39 · 77 阅读 · 0 评论 -
参加培训机构【无标题】
1211原创 2023-02-19 19:12:22 · 58 阅读 · 0 评论