Java基础:三步学会Java Socket编程 http://tech.163.com 2006-04-10 09:17:18 来源: java-cn 网友评论11 条 论坛        第一步 充分理解Socket  1.什么是socket  所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.  以J2SDK-1.3为例,Socket和ServerSocket类库位于ja…
Java多线程--线程及相关的Java API 线程与进程 进程是线程的容器,程序是指令.数据的组织形式,进程是程序的实体. 一个进程中可以容纳若干个线程,线程是轻量级的进程,是程序执行的最小单位.我们研究多线程而不是多进程,因为线程之间的切换与调度的成本远小于进程. 线程的生命周期 public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WATING, TERMINATED; } 线程的所有状态都在枚举类State中定义了,其中:…
java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.instrument (提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务)java.lang.management (提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统)java.lang.ref(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交…
String 相关知识点总结 字符串的不可变性 概述 String 被声明为 final,因此它不可继承 在 Java8 中,String 内部使用 char 数组存储数据 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char v…
java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.instrument (提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务)java.lang.management (提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统)java.lang.ref(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交…
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复"资料"即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南.Java学习指南等资源) 本文介绍了枚举类的基本概念,使用方法,以及底层实现原理.帮助你更好地使用枚举…
java.lang.Class类详解 java Class类详解 一.class类 Class类是java语言定义的特定类的实现,在java中每个类都有一个相应的Class对象,以便java程序运行时系统(JVM)对所有对象进行运行时类型标识,即Class对象,JVM可以通过该对象操作相应的类(如选准正确的方法执行). Class类用于封装被装入JVM中类(类或接口)的信息(类名.类型属于class.interface.enum还是annotation),是java反射机制的基础,通过Class…
常见 Java 异常解释:(译者注:非技术角度分析.阅读有风险,理解需谨慎:) 1. java.langjava.lang软件包是java语言的核心部分,它提供了java中的基础类. java.lang.Object,这是java.lang的根类,也是所有java类的超类. java.lang ArithmeticException 出现异常的运算条件时,抛出此异常.例如,一个整数"除以零" 你正在试图使用电脑解决一个自己解决不了的数学问题,请重新阅读你的算术表达式并再次尝试. Arr…
JAVA概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础: JAVA…
摘要 本文是对一些java基础知识的整理,把之前印象笔记里面的全部慢慢搬到这个blog来 为了方便就按照<Thinking In Java>的目录来编辑. 这里面的内容均为面试题相关,可能的考点等 这本书里面有些翻译不是很好,建议和英文版对照. Chapter1-Introduction to Objects 特性 抽象.封装.继承.多态 面向对象设计方法主要特征:继承.封装.多态. 延伸点:反射会破坏代码的封装性(mock等) Chapter2-Everything Is an Object…
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早的计算机使用电子管,01主要有高低电平控制.2:汇编语言,借助一些特殊符号,相比机器语言,更容易为人所理解,但是仍然不够人性化.3:高级语言,分为面向过程语言,例如C语言(贝尔实验室发明),和面向对象语言,例如C++.java.C#等. 二:java语言的发展 1:java语言是有sun公司发明的,…
1.对于自增运算++j与j++,由于加一的执行顺序不同,所以Java中有中间缓存变量来储存其单个表达式的值,而j的自增自减的结果依然保留在原来的变量储存区.因为本体是j的值,而单个表达式的值是中间产生的一个临时变量值,是在整条计算表达式结束后就可以抛弃的值,所以用个临时中间缓存变量在放就可以了.这就可以实现自增自减运算在计算时值的加减1顺序差异产生的表达式与本体值差异的两个变量储存. 2. 因为在计算过程中,使用了Java中间变量缓存机制.在java中,执行自增运算时,会为每一个自增操作分配一个…
为什么java的主函数入口必须是public static void main (String[] args); 很多写javaEE好几年的程序员经常会记得java的主函数就是这么写的,但实际上为什么这么写大都已经忘记. 由于每天被各种框架,各种技术包围,所以出现了一种知道怎么用但不知道为什么这么用的情况. java的主函数是一个java基础知识的大综合,在面试中,从这里就能看出程序员的基础知识掌握程度. 一.是不是所有的类都可以有主方法?如果是,为什么?如果不是,那么在什么类中可以有主方法.…
类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,链接,初始化三步来实现对这个类进行初始化. 加载就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 链接指的是将Java类的二进制代码合并到JVM的运行状态之中的过程.在链接之前,这个类必须被成功加载.类的链接包括验证.准备和解析等几个步骤. 验证:是否有正确的内部结构,并和其他类协调一致. 准备:负责为类的静态成员分配内存,并设置默认初始化值 解析:…
一.Java发展历程 1995年5月23日,Java语言诞生: 1996年1月,第一个JDK-JDK1.0诞生: 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术: 1996年9月,约8.3万个网页应用了Java技术来制作: 1997年2月18日,JDK1.1发布: 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议纪录: 1997年9月,JavaDeveloperConnection社区成员超过十万: 1998年2月,JDK1.1被下载超…
使用记事本写java代码 1.在d盘新建一个记事本,名字叫做zhanzhuang.java,会询问不可用,是否继续,点击是 2.在里面编辑就如下内容,注意文件的名字要和 class 后面的名字相对应 3.使用 windows+r 呼出命令行窗口,输入cmd进入dos窗口 4.在dos窗口中进入刚才创建的文件的位置,输入如下命令 javac zhanzhuang.java 5.之后继续输入java zhanzhuang 会发现控制台打印 this is zhanzhuang.java 打成jar包…
一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类.所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类 Number 的子类. 这种由编译器特别支持的包装称为装箱,所以当内置数据…
1.为什么要用正则表达式 首先我们先来做一道题目:判断一个字符串是否由数字组成.代码示例如下: public class Test { public static void main(String[] args) { String str="5201314"; char[] chars = str.toCharArray(); boolean flag=true; for (int i=0;i<chars.length;i++){ if (chars[i]<'0'||cha…
视屏讲解:https://www.bilibili.com/video/av48196406/?p=4 命令行运行Java代码 (1)使用记事本新建文本文件[Test.java]. 注意,默认状态下Windows操作系统不显示文件后缀名,默认后缀名是txt,需要让系统显示后缀名,再把txt改为java. (2)文件中编写如下代码: public class Test { public static void main(String[] args) { System.out.println("He…
一. 面向对象特征与原则 1.三大特征:封装.继承.多态. (1)封装:将客观的事物封装成抽象的类,封装代码逻辑,并通过访问控制符来控制访问的方式,从而保护程序(使用反射时,可以获取对象的私有方法和成员,会破坏封装性). (2)继承:某个类通过继承可以获取另外一个类的方法和属性(包括私有方法和私有属性),对于父类私有的方法和私有属性,子类只是拥有,无法去访问.同时可以编写属于自己的方法,便于程序的扩展. (3)多态:指一个类的实例的相同方法在不同的情形下有不同的结果.一般与继承.重写.向上转型等…
前言: 在日常Java开发中,常常会使用到Date的相关操作,如:获取当前系统时间.获取当前时间戳.时间戳按指定格式转换成时间等.以前用到的时候,大部分是去网上找,但事后又很快忘记.现为方便自己今后查阅,也方便各位猿友学习探讨,在此将我们常用的时间实例.函数归纳罗列出来,供大家参考,如有不对,欢迎在评论区共同探讨. 1.获取系统当前时间 获取系统当前时间,我们经常会用到,如:判断优惠券是否已经过期.更新某条数据的时间等.(当然,这些也可以在sql中进行) 方法一: Date类对象是用来表示时间和…
  String虽然不是java的基本数据类型,但使用的频率却非常之高,可以说是很常见了. 列举几个常见的关于String的转换,写的有点过于简洁,欢迎纠错和补充   1.Object和String的转换   --Object 转 String (1)Object.toString(); (2)(String)Object (3)String.valueOf(Object) --String 转 Object Object是所有类的父类,所以定义一个String类型的数据,可以直接赋值给Obje…
个人理解: 知晓XML与HTML的不同,知道其的自由性和约束的方式(规范)!数据按Schema约束写到XML里,然后通过dom4j解析出所有的元素,再用反射创建对象接着调出其所有的方法!!!特别要熟练掌握反射的3种创建对象的方法! 一.模拟Servlet执行 了解WEB服务器就是另一台计算机. 为了灵活实现的不同路径(/hello)执行不同的资源( HeIIoMyServlet)我们需要使用XML进行配置;为了限定XML内容,我们需要使用xml约束(DTD或schema);为了获得xml的内容,…
在安装完JDK以后,要设定JAVA环境变量. 刚接触的时候,我很困惑,这特么什么玩意啊,然后知其然不知其所以然的 按照说明做完了却不知道为什么这么做,这里简单做一些总结说明. 首先,什么是环境变量 环境变量是指在操作系统中用来指定操作系统运行环境的一些参数. 其实跟程序里的变量意思差不多, 程序中的变量嘛,就是代表着在程序中具有什么意义的一串字符的一个简短的字符串而已. 环境变量,就是操作系统中使用的变量而已. 至于这些变量有什么作用,和具体变量名相关. 那么介绍一下我们将要设置的三个环境变量…
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复"资料"即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南.Java学习指南等资源) ** 本文非常详尽地介绍了Java中的异常,几乎360度无死角. 从异常的概…
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复"资料"即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南.Java学习指南等资源) ​ 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 三大特性:…
01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 应用举例 1:科学计算 2.数据处理 3.自动控制 4.计算机辅助设计 5.人工智能 6.多媒体应用 7.计算机网络 ... B:什么是硬件?硬件举例 计算机硬件(Comput…
1.随机数类(Random) package com.denniscui;   import java.util.Random; /*  * Random:用于产生随机数  *  * 使用步骤:  *         A:导包  *              import java.util.Random  *         B:创建对象  *              Random r = new Random();  *         C:获取随机数  *              in…
1.反射机制概述 Java反射机制是指程序在运行状态中,对于任何一个类,我们都能够知道这个类的所有属性和方法(包括private.protected等).对于任何一个对象,我们都能够对它的属性和方法进行调用.我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制. 在程序运行时,当一个类加载完成之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只会对应一个Class对象,绝对不会产生第二个),这个Class对象就包含了完整的类的结构信息.我们创建该类的对象后就可以通过这个对象…
1.什么是反射机制? java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象都能够调用他的属性和方法,这种动态获取属性和方法的功能称为java的反射机制. 也就是说,java程序可以加载一个运行时才得知名称的class,获悉该类的完整构造(但不包括methods定义),并生成其对象实体,或对其fields设值,或唤起其methods.总之,就是JVM可以在运行时加载.探知.使用编译期完全未知的classes. 2.jdk提供的反射api Java反射相…