
Java
文章平均质量分 52
csdn-[baotai]
这个作者很懒,什么都没留下…
展开
-
【web】深入理解负载均衡 2018-10-5
深入理解负载均衡负载均衡负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。当然负载均衡器本身就是一个单点故障隐患,可以考虑文章后面说的负载均衡双机热备或其他方案消除单点故障提高可用性。一个没有使用负载均衡的Web架构一般会长得像这样:没有负载均衡的架构在这个例子里面,用户直接通过yourdoma...原创 2018-10-05 21:02:22 · 257 阅读 · 0 评论 -
【Java】Java序列化学习总结 2018-10-5
Java序列化学习总结什么是序列化我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。怎么序列化一个对象?要序列化一个对象,这个对象所在类就必须实现...原创 2018-10-05 16:52:34 · 207 阅读 · 0 评论 -
【Java】Java 集合学习总结 2018-10-5
Java 集合学习总结1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。...原创 2018-10-05 16:42:41 · 210 阅读 · 0 评论 -
【Java】HttpServletRequest常用方法2012-9-22
HttpServletRequest常用方法ServletRequest接口:请求对象,封装了获取所有请求信息(请求行,请求头,请求实体)的方法.HttpServletRequest接口:是ServletRequest的子接口,处理HTTP协议请求的方法.---------------------------------------------------------------------...原创 2018-09-22 18:37:33 · 209 阅读 · 0 评论 -
【Java】【JVM】Java中JVM内存管理 2018-10-5
Java中JVM内存管理JVM内存划分:① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放② 堆内存(线程共享) 垃圾回收的主要场地③ 程序计数器 当前线程执行的字节码的位置指示器④ Java虚拟机栈(栈内存) :保存局部变量,基本数据类型以及堆内存中对象的引用变量⑤ 本地方法栈 (C栈):为JVM提供使用native方法的服务...原创 2018-10-05 15:57:00 · 262 阅读 · 0 评论 -
【Java】Map接口主要的四个常用实现类 2018-9-22
Map接口主要的四个常用实现类HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用 Collections...原创 2018-09-22 14:53:31 · 4411 阅读 · 0 评论 -
【Java】Java常用包的功能 2018-09-21
Java常用包的功能java.lang该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。java.util该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。java.io该包通过文...原创 2018-09-21 23:29:04 · 202 阅读 · 0 评论 -
【java】优先队列问题2018-9-25
什么是优先队列?提到优先队列我们首先想到的就是队列这个数据结构队列的特点是什么?先进先出(FIFO)。入队列:出队列:那么,优先队列又是什么样子呢?优先队列不再遵循先入先出的原则,而是分为两种情况:最大优先队列,无论入队顺序,当前最大的元素优先出队。最小优先队列,无论入队顺序,当前最小的元素优先出队。比如有一个最大优先队列,它的最大元素是8,那么虽然元素8并不是队首元素,但...原创 2018-09-25 13:08:20 · 968 阅读 · 0 评论 -
【Java】-- Java核心知识点总结
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。JDK和JRE的区别...原创 2018-09-13 21:14:52 · 425 阅读 · 0 评论 -
【Java】【WEB】XML配置和注解配置的区别 2018-9-23
XML配置和注解配置的区别使用配置,可以使用XML文件也可以使用注解:**问题:**XML和注解各自的优缺点是什么,怎么选择?XML :优点:XML配置很清晰,很直观,因为和Java代码相分离,维护性较高.缺点:XML配置导致配置文件臃肿,开发效率较低.注解:优点:开发效率高,配置文件不臃肿,也方便快速定位.缺点:和Java代码耦合在一起,维护性较低.抉择:一般的,...原创 2018-09-23 10:18:04 · 1124 阅读 · 0 评论 -
【Java】【web】【计算机网络】cookie学习总结 2018-9-28
coookieCookie的操作:创建Cookie对象.Cookie cookie = new Cookie(String name,String value);参数:name: 该当前Cookie取一个唯一的名字.value: 存储在Cookie的共享数据,只能是String类型. Cookie cookie = new Cookie(“currentName...原创 2018-09-28 10:05:53 · 263 阅读 · 0 评论 -
【电子书】HeadFirst设计模式--FDF高清版
HeadFirst设计模式–FDF高清版下载地址:链接: https://pan.baidu.com/s/1rFzsMk93j_2MBciFKPIvJQ提取码: 5y9d原创 2018-10-31 16:58:38 · 8354 阅读 · 8 评论 -
【Java】深入理解Java中的进程和线程 2018-10-9
深入理解Java中的进程和线程1.进程是程序运行资源分配的最小单位进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、磁盘IO等,同一进程中的多条线程共享该进程中的全部系统资源,而进程和进程之间是相互独立的。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启...原创 2018-10-08 22:59:06 · 221 阅读 · 0 评论 -
【Java】【web】Servlet的三大作用域对象 2018-8-29
Servlet的三大作用域对象:目的:共享数据.request: 每一次请求都是一个新的request对象,如果在Web组件之间需要共享同一个请求中的数据,只能使用请求转发.session: 每一次会话都是一个新的session对象,如果需要在一次会话中的多个请求之间需要共享数据,只能使用session.application: 应用对象,Tomcat启...原创 2018-09-29 18:45:58 · 627 阅读 · 0 评论 -
【java】【web】Web组件之间的跳转方式 2018-9-29
Web组件之间的跳转方式:方式1: 请求转发(forward).方式2: URL重定向(redirect).方式3: 请求包含(include).请求转发:从Servlet1,请求转发到Servlet2.Servlet1完成一部分的功能,再跳转到Servlet2,继续完成剩下的功能.语法:request.getRequestDispatcher(String path).forwa...原创 2018-09-29 18:38:38 · 310 阅读 · 0 评论 -
【计算机网络】【WEB】DNS域名解析过程(十步走) 2018-9-28
DNS域名解析过程(十步走)当用户在浏览器中输入域名并按下回车键后第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的I...原创 2018-09-28 23:10:28 · 940 阅读 · 0 评论 -
【Java】【web】【计算机网络】session学习总结 2018-9-28
session学习总结Session概念: Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。Se...原创 2018-09-28 20:49:24 · 197 阅读 · 0 评论 -
【Java】【编程练习】给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次请返回第一个找到的位置.2018-9
题目描述:给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一个找到的位置import java.util.Arrays;import java.util.Scanner;public class Main {static int binarySearch(int[] A, int n,in...原创 2018-09-28 20:37:02 · 2737 阅读 · 0 评论 -
【Java】【编程练习】输入一个正整数n,求n!(即阶乘)末尾有多少个 0 ? 2018-9-28
输入一个正整数n,求n!(即阶乘)末尾有多少个0解题思路:求末尾几个0,就看这个数有几个10因子,10=5*2,但是最后得到的结果2的个数一定多于5的个数,所以只需要求5的个数就可以了。但是就像25这种数字,它可以被5除两次,所以我们要在循环中除以5,最后把除5的个数累加就可以了。代码实现:import java.util.Scanner;public class Main{ pu...原创 2018-09-28 20:31:45 · 5439 阅读 · 1 评论 -
【Java】【Web】JavaWeb相关知识总结 2018-9-17
JavaWeb相关知识C/S和B/S的区别:C/S:Client/Server:客户端和服务端的架构.该软件运行在电脑桌面:比如,QQ,FeiQ,POS机/火车站卖票等.特点: 一般的,服务端仅仅是安装一个数据库和数据存储,所有程序的代码(功能/界面)都编写在客户端软件中(把所有的业务逻辑编写在客户端,界面渲染也在客户端).优点:直观,用户体验好,界面美观,安全性高等.缺点:每...原创 2018-09-18 23:14:44 · 191 阅读 · 0 评论 -
面向过程语言和面向对象语言的差别:
面向过程语言和面向对象语言的差别:计算机语言可以归为面向过程语言和面向对象语言,那么到底什么是面向对象,什么是面向过程呢?答:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。可以拿生活中的实例来理解...原创 2018-03-27 20:44:48 · 2153 阅读 · 0 评论 -
【Java】【WEB】servlet线程不安全问题 2018-9-23
servlet线程不安全问题造成的根本原因是:Servlet是单例的,Servlet中的非static的成员变量只有一份,多个客户端好比是多个线程,都访问的是同一个空间.解决方案:让当前Servlet实现javax.servlet.SingleThreadModel接口.包装只有一个线程放Servlet,如果有多个线程就排队,如此的话,性能超低(已过时).在Servlet中不要使...原创 2018-09-23 11:03:19 · 232 阅读 · 0 评论 -
【Java】—— JVM篇
JVM知识 什么情况下会发生栈内存溢出。 JVM的内存结构,Eden和Survivor比例。 JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。 JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要的JVM参 数。 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原...原创 2018-08-28 09:09:50 · 602 阅读 · 0 评论 -
【Java】—— java基础篇
JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节。 String类能被继承吗,为什么。 String,Stringbuffer,StringBuilder的区别。 ArrayList和LinkedList有什么区别。 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字 段,当new的时候...原创 2018-08-28 09:08:38 · 322 阅读 · 0 评论 -
【Java】内存泄漏与内存溢出 学习总结
内存泄露(Memory Leak)是指一个不再被使用的对象或者变量还在内存中占有存储空间。 内存溢出(OOM)是指程序在申请内存时没有足够的内存供使用,进而导致程序崩溃这是结果描述。两者关系: 内存泄露(Memory Leak)最终会导致内存溢出。 在C/C++语言中,内存泄露出现在开发人员忘记释放已分配的内存就会造成内存泄露。在java语言中引入垃圾回收机制,有GC...原创 2018-08-20 20:06:53 · 266 阅读 · 0 评论 -
【Java】学习总结 —— HashMap之put()方法实现原理
①.判断键值对数组table[i]是否为空或为null,否则执行resize()进行扩容;②.根据键值key计算hash值得到插入的数组索引i,如果table[i]==null,直接新建节点添加,转向⑥,如果table[i]不为空,转向③;③.判断table[i]的首个元素是否和key一样,如果相同直接覆盖value,否则转向④,这里的相同指的是hashCode以及equals;④...原创 2018-08-30 16:48:53 · 2214 阅读 · 2 评论 -
【Java】给定一个二叉树和其中的一个节点,请找出中序遍历的下一个节点且返回, 注意:树中的节点不仅包含左右子节点,同时包含父节点的指针。
题目描述: 给定一个二叉树和其中的一个节点,请找出中序遍历的下一个节点且返回,注意:树中的节点不仅包含左右子节点,同时包含父节点的指针。解题思路:对于二叉树中所有的节点,可以大致分为两类:1、有右子树的,那么下个结点就是右子树最左边的点;2、没有右子树的,也可以分成两类 a)是父节点左孩子 ,那么父节点就是下一个节点 ; ...原创 2018-08-20 00:14:29 · 627 阅读 · 0 评论 -
【Java】【算法练习】题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是输出yes,不是输出no,数组任意两个数字不相同。
题目描述: 题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是输出yes,不是输出no,数组任意两个数字不相同。 解题思路:对于二叉搜索树的而言,什么是二叉搜索树? 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左...原创 2018-08-18 23:04:06 · 452 阅读 · 0 评论 -
【java】sting和stringbuilder与stringbuffer的区别辨析
1.在执行速度上:Stringbuilder->Stringbuffer->StringString是字符串常量 Stringbuffer是字符串变量 Stringbuilder是字符串变量有可能我们会疑惑String怎么是字符串变量。看以下代码:String str = adc;str = str + “ef”;System.out.println(str...原创 2018-08-01 20:40:47 · 749 阅读 · 0 评论 -
【java】十大经典排序算法(动图演示)
十大经典排序算法(动图演示)0,算法概述0.1算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 0.2算法复杂度...转载 2018-05-12 19:17:17 · 14906 阅读 · 7 评论 -
【Java】【Linux】【操作系统】知识重点——操作系统篇
操作系统 Linux系统下你关注过哪些内核参数,说说你知道的。 Linux下IO模型有几种,各自的含义是什么。 epoll和poll有什么区别。 平时用到哪些Linux命令。 用一行命令查看文件的最后五行。 用一行命令输出正在运行的java进程。 介绍下你理解的操作系统中线程切换过程。 进程和线程的区别。 top...原创 2018-08-28 09:12:48 · 426 阅读 · 0 评论 -
【Java】【多线程】—— 多线程篇
多线程 多线程的几种实现方式,什么是线程安全。 volatile的原理,作用,能代替锁么。 画一个线程的生命周期状态图。 sleep和wait的区别。 sleep和sleep(0)的区别。 Lock与Synchronized的区别 。 synchronized的原理是什么,一般用在什么地方(比如加在静态方法和非静态方法的区别,静 ...原创 2018-08-28 09:13:44 · 604 阅读 · 0 评论 -
【Java】【算法练习】对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。 给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输
题目描述: 对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。测试样例:[[1,2],[3,4]],2,2返回:[1,2,4,3]解题思路:对于一个矩阵,顺时针打印时一定要保证边界处理的正确性;解题代码:public class Prin...原创 2018-09-06 09:13:39 · 1513 阅读 · 0 评论 -
【Java】【算法练习】输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组 {3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路: 解题思路: 比较两个字符串s1 S2的大小的时候,先将它们拼接起来,比较s1+s2和s2+s1哪个大,如果s1+s2大,那么说明s2应该放在前面,此题巧妙应用了...原创 2018-09-04 09:20:07 · 3358 阅读 · 4 评论 -
【Java】命名规范
一、命名规范 1、 项目名全部小写 2、 包名全部小写 3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。 如:public class MyFirstClass{} 4、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。 如:int index=0; pu...转载 2018-08-21 20:09:33 · 933 阅读 · 0 评论 -
【Java】知识重点——消息队列篇
消息队列 消息队列的使用场景。 消息的重发,补充策略。 如何保证消息的有序性。 用过哪些MQ,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗,你们公司的MQ服务 架构怎样的。 MQ系统的数据如何保证不丢失。 rabbitmq如何实现集群高可用。 kafka吞吐量高的原因。 kafka 和其他消息队列的区别,kafk...原创 2018-08-28 09:19:04 · 1061 阅读 · 0 评论 -
【Java】【数据库】知识重点——数据库篇
数据库知识数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。 什么是幻读。 MYSQL有哪些存储引擎,各自优缺点。 高并发下,如何做到安全的修改同一行数据。 乐观锁和悲观锁是什么,INNODB的标准行级锁有哪2种,解释其含义。 SQL优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义。 数据库会死锁吗,举一个死锁的例...原创 2018-08-28 09:18:15 · 417 阅读 · 0 评论 -
【Java】【算法】——算法篇
算法 10亿个数字里里面找最小的10个。 有1亿个数字,其中有2个是重复的,快速找到它,时间和空间要最优。 2亿个随机生成的无序整数,找出中间大小的值。 给一个不知道长度的(可能很大)输入字符串,设计一种方案,将重复的字符排重。 遍历二叉树。 有3n+1个数字,其中3n个中是重复的,只有1个是不重复的,怎么找出来。 写一个字符串(如...原创 2018-08-28 09:17:22 · 1981 阅读 · 0 评论 -
【java】java高级开发之泛型
Java高级开发之泛型目录Java高级开发之泛型泛型问题引出泛型类的基本使用泛型方法通配符(重点)泛型接口类型擦除 泛型问题引出假设需要你定义一个描述坐标的程序类Point,需要提供两个属性x、y。对于这两个属性的内容可能有如下选择:1. x = 10、y = 20 ;2. x = 10.1、y = 20.1 ;3. x = 东经80度、y ...原创 2018-07-27 20:10:11 · 215 阅读 · 0 评论