Java
文章平均质量分 77
今天的技术超过许嵩了吗?
嘤,歌可以唱的不好,但是,技术不能比许嵩差~
展开
-
java基础知识整理
Day01 常见DOS命令和环境变量的配置每天要做的事——笔记、作业、代码知识点的学习——A:是什么?B:有什么特点?C:如何使用?D:什么时候使用?E:能讲给别人听么?一、学习的前提(1)目标要明确(2)兴趣是最好的老师(3)自信是成功的法宝(4)要求和建议A:写总结,记笔记,写注释。B:多交流C:勤练习:敲--狂敲(学习的捷径 不走弯路,...原创 2019-03-17 15:12:58 · 1615 阅读 · 0 评论 -
JVM性能调优(转)
一、JVM内存模型及垃圾收集算法1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize等参数调整其大小。...转载 2019-03-30 19:55:23 · 224 阅读 · 0 评论 -
线程池和连接池学习总结
线程池 1、流程 先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。2、作用 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统...原创 2019-03-30 21:13:14 · 760 阅读 · 0 评论 -
ThreadLocal学习总结(转)
一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理解,但是真正理解并不是那么容易。 我们还是先来看一个例子:class ConnectionManag...转载 2019-03-31 20:07:02 · 132 阅读 · 0 评论 -
TCP三次握手与四次挥手学习总结(转)
学习握手挥手之前,先了解TCP的标志位TCP共有6个标志位,分别是:SYN(synchronous),建立联机。 ACK(acknowledgement),确认。 PSH(push),传输。 FIN(finish),结束。 RST(reset),重置。 URG(urgent),紧急。OK,我们进入正文=========================================...转载 2019-03-28 17:14:40 · 699 阅读 · 0 评论 -
java实现各种数据统计图(转)
要实现这个功能就需要的第三方包:1. jfreechart-1.0.13.jar2. jcommon-1.0.16.jar3. gnujaxp.jar最终效果图:一,前期准备工作,把这三个第三方包添加进本文工程二,实现柱形图的java代码:import java.awt.Font;import org.jfree.char...转载 2019-03-28 18:11:14 · 4345 阅读 · 0 评论 -
IO流面试题汇总
输入输出流是相对于内存而言的!1、什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别 Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1 Byte是计算机操作数据的最小单位由8位bit组成 取值(-128-127) Char是用户的可读写的最小单位,在java里面由16位bit组...原创 2019-04-02 13:43:25 · 6751 阅读 · 0 评论 -
单点登录学习总结(转)
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必...转载 2019-04-02 18:54:46 · 271 阅读 · 0 评论 -
23种常用设计模式的UML类图(转)
一、创建型 Factory Method(工厂方法) 定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 类图: Abstract Factory(抽象工厂) 定义:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 类图: Builder(生成器模式) 定义:将一个复杂对象...转载 2019-04-13 21:20:39 · 476 阅读 · 0 评论 -
Java 8系列之重新认识HashMap(转)
摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.M...转载 2019-04-25 20:42:54 · 173 阅读 · 0 评论 -
ConcurrentHashMap源码分析--Java8(转)
概述:1、设计首要目的:维护并发可读性(get、迭代相关);次要目的:使空间消耗比HashMap相同或更好,且支持多线程高效率的初始插入(empty table)。2、HashTable线程安全,但采用synchronized,多线程下效率低下。线程1put时,线程2无法put或get。实现原理:锁分离: 在HashMap的基础上,将数据分段存储,Concu...转载 2019-04-25 20:47:52 · 255 阅读 · 0 评论 -
Java项目经验(转)
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例驱动、以架构为核心的主流开发方法没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理...转载 2019-04-17 20:23:19 · 634 阅读 · 0 评论 -
Java 生成 UUID(转)
(UUID在线生成器:http://www.uuid.online/)1.UUID 简介 UUID 含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准。 也是被开源软件基金会 (Open Software Foundation, OSF)的组织应用在分布式计算环境 (Distributed Computing Envi...转载 2019-04-27 15:39:07 · 7676 阅读 · 0 评论 -
?extends T 和? super T 的区别
<? extends T><? extends T>表示类型的上界,也就是说参数化的类型 可能是T或是T的子类。例如下面的写法都是合法的赋值语句:List<? extends Number>list=new ArrayList<Number>();//Integer是Number的子类List<? extends Number...原创 2018-12-24 16:09:30 · 3737 阅读 · 0 评论 -
Java并发编程:线程池
线程池解决了线程数量很多的情况下,频繁创建线程因此大大降低系统效率的问题,使得线程可以复用。详解如下: 一.Java中的ThreadPoolExecutor类 java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类。 在ThreadPoolExecutor类中提供了四个构造方法:public class Thr...转载 2018-05-17 17:49:21 · 141 阅读 · 0 评论 -
Java多线程学习总结
一、相关概念 进程:每个进程都有独立的代码和数据空间,进程间的切换回有较大的开销,一个进程包含1—n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,切换开销小。(线程是CPU调度的最小单位) 随机性原理:由CPU的快速切换造成,哪个线程获取到了CPU的执行权,哪个线程就执行。 返回当前线程的名称:Thread.c...原创 2018-05-19 15:37:57 · 670 阅读 · 2 评论 -
对Java中String、StringBuilder、StringBuffer三者的理解
一、对String类的了解 我们先看一下这个类的实现源代码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final byte[] value; private final byte coder; ...原创 2018-05-14 22:34:46 · 196 阅读 · 0 评论 -
Java GC学习总结
GC负责处理已用对象(new)。 JVM堆: 1、新域(coping算法):用来存放 新产生的对象。eden from survivor to survivor 2、旧域(tracing算法):用来存放经过几次回收还没有回收掉的对象。 3、永久域:存储类和方法对象。独立。不包括在JVM堆内。默认为4M。 新生成的对象都放在ed...原创 2018-05-22 16:12:05 · 3511 阅读 · 0 评论 -
maven工具学习
一、maven介绍 介绍maven之前我们先来说一下项目构建的工具有哪些? maven(企业用的多) ant(可做编译) gradle 1、maven是什么? maven是一个项目管理和综合工具。 maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设。 maven使用标准的目录结构和默认构建生命周期。 mave...原创 2018-06-04 00:07:58 · 1752 阅读 · 0 评论 -
Java集合框架学习总结
一、集合与数组 1、数组固定长度;集合长度可变。 2、数组可以存储基本数据类型,也可以存储引用数据类型(即对象);集合只能存储引用数据类型(对象); 3、数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同的数据类型。 4、数组不适合在数量未知的情况下使用;而集合在多数情况下都能使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是...转载 2018-06-04 00:10:02 · 226 阅读 · 0 评论 -
Tomcat详解
一、Java Web概念使用java语言实现浏览器可以访问的程序内容,称之为Java Web。web包括:web服务器和web客户端两部分。java在服务器端的应用非常丰富,比如Servlet,jsp和第三方框架等等。java web开发是基于请求和响应的: 请求:浏览器(客户端)向服务器发送信息 响应:服务器向(客户端)浏览器回送信息二、Web...转载 2018-06-06 01:05:31 · 308 阅读 · 0 评论 -
Java中double保留小数的方法
package test0906;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;import com.sun.glass.ui.Pixels.Format;public class BaoLiuXS { double d=1111.76543...原创 2018-09-12 18:31:51 · 416 阅读 · 0 评论 -
Java内存区域与内存溢出
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Program Counter Register) 一块较小的内存空间,它是当前线程所执行的字节码...转载 2018-11-10 11:24:51 · 116 阅读 · 0 评论 -
临界资源和临界区
临界资源: 各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。 临界区: 每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。为此,每个进程在进入临界区之前,应...原创 2018-11-29 19:14:53 · 9772 阅读 · 2 评论 -
Java注解(Annotation)学习总结
注解的定义注解通过 @interface 关键字进行定义。public @interface TestAnnotation {}它的形式跟接口很类似,不过前面多了一个 @ 符号。上面的代码就创建了一个名字为 TestAnnotaion 的注解。你可以简单理解为创建了一张名字为 TestAnnotation 的标签。注解的应用上面创建了一个注解,那么注解的使用方法是什么呢...转载 2018-12-12 20:21:51 · 125 阅读 · 0 评论 -
Java异常处理机制学习总结
一、引子我们先来看一道题目:求下面这个程序的运行结果?package InterView;public class Test8 { public Test8() { } boolean testEx() throws Exception { boolean ret = true; try { ret = testEx1(); } catch (E...转载 2018-12-23 17:10:01 · 760 阅读 · 0 评论