java基础知识
文章平均质量分 71
「已注销」
这个作者很懒,什么都没留下…
展开
-
Java中为什么要使用泛型?
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。 &...原创 2017-08-23 14:56:36 · 1588 阅读 · 0 评论 -
Java网络编程基础知识(IP/端口/协议)
一、网络编程基本概念1.OSI与TCP/IP体系模型2.IP和端口解决了文章最开始提到的定位的问题。IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证);网络编程是和远程计算机的通信,所以必须先能定位到远程计算机;IP帮助解决此问题;一台计算机中可能有很多进程,具体和哪一个进程进行通信,这就得靠端口来识别;IP和端口能唯原创 2017-10-26 15:23:08 · 572 阅读 · 0 评论 -
JDBC基本概念
JDBCJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。 JDBC是Java语言访问数据库的一种规范,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控...原创 2017-11-18 15:04:13 · 917 阅读 · 0 评论 -
JDBC基本概念2
一、相关概念1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。2.数据库驱动 我们安装好数据库之后,我们的应用程序也是不能直...原创 2017-11-18 15:51:57 · 338 阅读 · 0 评论 -
JavaWeb实现用户登录注册功能实例
一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录注册程序来讲解Servl...原创 2018-03-08 17:13:40 · 173032 阅读 · 14 评论 -
Object类中有哪些方法
Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用得比较多,一般子类都有覆盖。4...原创 2018-03-22 17:02:45 · 2859 阅读 · 0 评论 -
解决hash冲突的三个方法
目录开放定址法线性探测再散列二次探测再散列伪随机探测再散列再哈希法链地址法建立公共溢出区优缺点开放散列(open hashing)/ 拉链法(针对桶链结构)封闭散列(closed hashing)/ 开放定址法通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问题。创建哈希表和查找哈希表都会遇到冲突,两种情况下解决冲突的方法应该一致。下面以创建哈希...转载 2018-03-19 09:23:01 · 1596 阅读 · 0 评论 -
深入理解java的垃圾回收处理机制
深入理解 Java 垃圾回收机制一:垃圾回收机制的意义java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内存空间使用完毕后未回...转载 2018-03-20 21:33:57 · 183 阅读 · 0 评论 -
Java中基本数据类型和引用数据类型的存放位置
基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。一:在方法中声明的变量,即使变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因。 在方法中声明的变量可以是基本类型的变量,也可以是引用类型的变量。 (1)当声明是基本类型的...原创 2018-03-21 16:23:43 · 637 阅读 · 0 评论 -
理解线程池的原理
什么是线程池线程池的概念大家应该都很清楚,帮我们重复管理线程,避免创建大量的线程增加开销。除了降低开销以外,线程池也可以提高响应速度,了解点 JVM 的同学可能知道,一个对象的创建大概需要经过以下几步:检查对应的类是否已经被加载、解析和初始化类加载后,为新生对象分配内存将分配到的内存空间初始为 0对对象进行关键信息的设置,比如对象的哈希码等然后执行 init 方法初始化对象创建一个对象的开销需要经...原创 2018-03-26 20:15:01 · 146 阅读 · 0 评论 -
java中内存泄露有几种?如何分析泄露原因
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方法...转载 2018-03-28 19:04:28 · 1868 阅读 · 1 评论 -
滑动窗口机制
(1).窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举一个例子(假设发...原创 2018-03-28 22:09:23 · 485 阅读 · 0 评论 -
java中10大常见异常
NO.1 java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是 “程序遇上了空指针 “,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混...转载 2018-05-10 20:00:55 · 1063 阅读 · 1 评论 -
java.util.concurrent包下的几个常用类
1.Callable<V>Callable<V>与Runnable类似,理解Callable<V>可以从比较其与Runnable的区别开始:1)从使用上:实现的Callable<V>的类需要实现call()方法,此方法有返回对象V;而Runnable的子类需要实现run()方法,但没有返回值;2)如果直接调用Callable<V...原创 2018-05-11 10:48:14 · 1306 阅读 · 1 评论 -
JAVA8 十大新特性详解
一、接口的默认方法在接口中新增了default方法和static方法,这两种方法可以有方法体 1、static方法 示例代码:public interface DefalutTest { static int a =5; default void defaultMethod(){ System.out.println("DefalutTest defalut 方法"...转载 2018-06-25 14:08:49 · 159 阅读 · 0 评论 -
消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注...转载 2018-06-25 14:10:10 · 159 阅读 · 0 评论 -
Java日志框架:slf4j作用及其实现原理
简单回顾门面模式slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式,门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:门面模式的核心为Facade即门面对象,门面对象核心为几个点:知道所有子角色的功能和责任将客户端发来的请求委派到子系统中,没有实际业务逻辑不参与子系统内业务逻辑的实现大致上来看...转载 2018-07-05 21:19:04 · 261 阅读 · 0 评论 -
str==null、str.length==0以及''''.equals(str)之间的区别
str == null //判断引用是否指向任何对象str.length == 0 //判断引用指向的对象是否为空字符串,即字符串长度为0“”.equals(str) //判断引用指向的对象是否为空字符串和str.length()==0效果是一样...原创 2017-10-17 09:28:55 · 2613 阅读 · 0 评论 -
javaSE实战--(API)中的集合框架
转载请声明出处:http://blog.csdn.net/zhongkelee/article/details/46801449综述 Java集合就是一个容器。面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。如果往集合里存放基本数据类型,在存取过转载 2017-10-18 15:41:20 · 682 阅读 · 0 评论 -
Java网络编程详解
1、网络编程网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。 &原创 2017-10-27 09:22:17 · 237 阅读 · 0 评论 -
几个重要的java数据库访问类和接口
编写访问数据库的Java程序还需要几个重要的类和接口。DriverManager类DriverManager类处理驱动程序的加载和建立新数据库连接。DriverManager是java.sql包中用于管理数据库驱动程序的类。通常,应用程序只使用类DriverManager的getConnection()静态方法,用来建立与数据库的连接,返回Connection对象: &nb...原创 2017-10-11 10:30:50 · 1093 阅读 · 0 评论 -
Java集合框架面试问题集锦
Q:最常见的数据结构有哪些,在哪些场景下应用它们?A. 大部分人都会遗漏树和图这两种数据结构。树和图都是很有用的数据结构。如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核。Q:你如何自己实现List,Set和Map?A:虽然Java已经提供了这些接口的经过实践证明和测试过的实现,但是面试者还是喜欢这样问,来测试你对数据结构的理解。我写的《Core Java转载 2017-10-23 11:09:04 · 183 阅读 · 0 评论 -
Java中的IO流系统详解
摘要:Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStrea...原创 2017-10-23 16:21:12 · 218 阅读 · 0 评论 -
多线程基础知识
多线程是java应用程序的一个特点,掌握java的多线程也是作为一java程序员必备的知识。多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境。还记得刚开始学习的时候总是和进程分不清,总是对这两个名词所迷惑。下面就首先对这两个名词区分来作为本篇博客的开始: 一、线程与进程的区别多个进程的内部数据和状态都是完全独立的,而多线程是共享...原创 2017-10-23 17:24:39 · 690 阅读 · 0 评论 -
Java线程详解
本文主要转载自http://blog.csdn.net/shimiso/article/details/10005983,部分内容做了改动,文中所有代码均经过亲自测试,感谢分享。Java线程:概念与原理一、进程与线程 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Window转载 2017-10-23 17:28:58 · 242 阅读 · 0 评论 -
Java多线程面试题
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用转载 2017-10-24 17:02:50 · 222 阅读 · 0 评论 -
java反射机制详解
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。1、关于Class 1、Class是一个类,一个描述类的类(也就是描述类本身),封装了描述方法的Method,描述字段的Filed,描述构造器的Construct原创 2017-11-01 15:47:35 · 207 阅读 · 0 评论 -
深入理解Java异常处理机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果...原创 2017-10-16 17:38:05 · 184 阅读 · 0 评论 -
HashMap工作原理和扩容机制
HashMap工作原理 HashMap扩容 1 HashMap的扩容时机 2 HashMap的扩容过程 补充 1 容量必须是2的幂 2 rehash References 1. HashMap工作原理HashMap作为优秀的Java集合框架中的一个重要的成员,在很多编程场景下为我们所用。HashMap作为数据结构散列表的一种实现,就其工...原创 2018-09-12 12:58:03 · 455 阅读 · 0 评论