career
文章平均质量分 91
一行代码的自述
这个作者很懒,什么都没留下…
展开
-
重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源
重写equal()时为什么也得重写hashCode()之深度解读以及equal方法与hashCode方法渊源转载自:http://blog.csdn.net/javazejian/article/details/51348320今天这篇文章我们打算来深度解读一下equal方法以及其关联方法hashCode(),我们准备从以下几点入手分析:1.equals()的所属以及内部原理(即Object中eq...转载 2018-06-02 16:22:53 · 179 阅读 · 0 评论 -
Java知识点全面汇总
相关概念面向对象的三个特征封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象。多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。主要有以下优点: 可替换性:多态对已存在代码具有可替换性 可扩充性:增加新的子类不影响已经存在的类结构 接口性:多态是超类通过方法签名,向子...转载 2018-05-27 10:57:14 · 47134 阅读 · 2 评论 -
JAVA多线程和并发基础面试问答
JAVA多线程和并发基础面试问答Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多...转载 2018-05-27 10:01:53 · 224 阅读 · 0 评论 -
数据库索引的实现原理
说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数...转载 2018-05-26 15:52:10 · 2092 阅读 · 0 评论 -
java的守护进程与非守护进程
java的守护进程与非守护进程 最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) ,(PS:以前忽略了)。 估计学过Unix开发但是没有细致学习Java的同学们会疑惑了,操作系统里面是没有所谓的守护线程的概念,只有守护进程一说,但是Java语言...转载 2018-05-22 13:44:36 · 13564 阅读 · 0 评论 -
https和http的区别
https和http的区别一、基本概念(http服务器-->本地浏览器,正确快速传输;https安全套接字层,http的安全版本, http+ssl层,建立一个信息安全的通道,保证数据传输的安全,确认网站的真实性)1、HTTP:超文本传输协议(HyperText Transfer Protocol)。是互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个标准。是一个客户端和...转载 2018-05-26 10:26:31 · 4238 阅读 · 0 评论 -
公钥,私钥和数字签名这样理解轻松入门!
公钥,私钥和数字签名这样最好理解参考博文:https://blog.csdn.net/21aspnet/article/details/7249401(公钥和私钥是成对出现的,可以把他们看成锁头和钥匙的关系,公钥为锁头,私钥是钥匙,加密类似于锁起来,解密就是开锁)这样一来,下面就很好理解了~一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥)...转载 2018-05-26 10:20:43 · 838 阅读 · 0 评论 -
redis学习与入门~~~
redis学习与入门~~~ 一。 Redis 简介: 通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等,分类的标准也不1,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保...原创 2018-04-29 21:07:57 · 167 阅读 · 1 评论 -
继上一篇博客--javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)
通过动态分配地址来提升javaweb文件下载接口的其兼容性和可扩展性:(上篇博文地址:https://blog.csdn.net/weixin_37766296/article/details/80044000)log4j.properties 文件:log4j.rootLogger = debug,stdout,D,E log4j.logger.java.sql.ResultSet=INFO...原创 2018-04-30 15:18:21 · 940 阅读 · 1 评论 -
Java中HashMap的常用操作
Java中HashMap的常用操作HashMap<Integer, Integer> hashMap = new HashMap<>(); hashMap.put(5, 2); hashMap.put(9, 2); hashMap.put(8, 1); hashMap.put(7, 3); hashMap.put(16, 1); hashMap...原创 2018-05-16 17:17:40 · 661 阅读 · 0 评论 -
SQL分页查询的介绍以及好处~~
SQL分页查询的介绍以及好处~~分页查询 就是将过多的结果在有限的界面上分多页来显示,一般将分页查询分为两类:逻辑分页、物理分页。逻辑分页是在用户第一次访问时,将数据库的所有记录全部查询出来,添加到一个大集合中,然后存放在session对象,再通过页码计算出当前页需要显示的数据内容,存储到一个小的list的集合中,并将其存储到request对象中,跳转到JSP页面,进行遍历显示。 当用户第二次访问...原创 2018-05-16 21:43:26 · 9094 阅读 · 1 评论 -
分布式事务最终一致性常用方案
分布式事务最终一致性常用方案目前的应用系统,不管是企业级应用还是互联网应用,最终数据的一致性是每个应用系统都要面临的问题,随着分布式的逐渐普及,数据一致性更加艰难,但是也很难有银弹的解决方案,也并不是引入特定的中间件或者特定的开源框架能够解决的,更多的还是看业务场景,根据场景来给出解决方案。根据笔者最近几年的了解,总结了几个点,更多的应用系统在编码的时候,更加关注数据的一致性,这样系统才是健壮的。...转载 2018-05-16 22:14:04 · 849 阅读 · 0 评论 -
Java类的初始化、变量的初始化
Java类的初始化、变量的初始化知识点Java常量, final 修饰,值被设定后不能再被修改静态变量里, static 修饰,顾名思义,无须创建对象,便可在内存中申请一个存储空间进行存储成员变量, 也称实例变量,它随着当前对象的建立而建立,随着对象的销毁而销毁,存在于对象所在的堆内存中构造器,创建class对象时执行静态初始化块 ,执行优先级高于非静态的初始化块,它会在对象装载到 jv...转载 2018-06-02 15:21:23 · 17470 阅读 · 0 评论 -
Java零基础并发编程入门
Java零基础并发编程入门并发编程主要包括:线程,同步,future,锁,fork/join, volatile,信号量,cas(原子性,可见性,顺序一致性),临界性,分布式了解基础:JMM:Java Memory Model(Java内存模型),定义了JVM在计算机内存中的工作方式。Java内存模型的内部原理:1. 堆内存是内存共享,包括方法区2. 线程私有:虚拟机栈,本地方法栈,程序计数器线程...原创 2018-05-30 21:52:00 · 324 阅读 · 0 评论 -
Java提供了哪些IO方式? NIO如何实现多路复用?
Java提供了哪些IO方式? NIO如何实现多路复用?Java IO 方式有很多种,基于不同的 IO 抽象模型和交互方式,可以进行简单区分。首先,传统的 java.io 包,它基于流模型实现,提供了我们最熟知的一些 IO 功能,比如 File 抽象、输入输出流等。交互方式是同步、阻塞的方式,也就是说,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线...转载 2018-05-30 15:40:57 · 3273 阅读 · 0 评论 -
一篇博客读懂设计模式之---动态代理与反射
反射与动态代理原理1 关于反射反射最大的作用之一就在于我们可以不在编译时知道某个对象的类型,而在运行时通过提供完整的”包名+类名.class”得到。注意:不是在编译时,而是在运行时。功能:•在运行时能判断任意一个对象所属的类。•在运行时能构造任意一个类的对象。•在运行时判断任意一个类所具有的成员变量和方法。•在运行时调用任意一个对象的方法。说大白话就是,利用Java反射机制我们可以加载一个运行时才...原创 2018-05-24 22:22:28 · 2072 阅读 · 0 评论 -
int和Integer的比较
int和Integer的比较1 int和IntegerJDK1.5引入了自动装箱与自动拆箱功能,Java可根据上下文,实现int/Integer,double/Double,boolean/Boolean等基本类型与相应对象之间的自动转换,为开发过程带来极大便利。最常用的是通过new方法构建Integer对象。但是,基于大部分数据操作都是集中在有限的、较小的数值范围,在JDK1.5 中新增了静态工...转载 2018-05-24 21:59:22 · 501 阅读 · 0 评论 -
Hashtable、HashMap、TreeMap总结
Hashtable、HashMap、TreeMap总结三者均实现了Map接口,存储的内容是基于key-value的键值对映射,一个映射不能有重复的键,一个键最多只能映射一个值。(1) 元素特性HashTable中的key、value都不能为null;HashMap中的key、value可以为null,很显然只能有一个key为null的键值对,但是允许有多个值为null的键值对;TreeMap中当未...转载 2018-05-24 16:37:40 · 312 阅读 · 0 评论 -
Collection框架介绍
Collection:List列表,Set集, Map:Hashtable,HashMap,TreeMap Collection 是单列集合List 元素是有序的、可重复有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 可存放重复元素,元素存取是有序的。List接口中常用类l Vector: 线...转载 2018-05-23 21:17:52 · 4873 阅读 · 1 评论 -
Java中常用的类,包,接口
Java中常用的类,包,接口包名说明java.lang该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。java.util该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。java.io该包通过文件系统...转载 2018-05-23 20:48:05 · 21221 阅读 · 0 评论 -
MySQL常用函数
MySQL常用函数一、数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回值e(自然对数的底)的x次方floor(x) 返回小于x的最大整数值greatest(x1,x2,...,xn)返回集合中最大的值least...转载 2018-05-10 22:16:10 · 459 阅读 · 0 评论 -
jvm gc垃圾回收机制和参数说明&&Java JVM 垃圾回收(GC 在什么时候,对什么东西,做了什么事情)
jvm gc(垃圾回收机制)Java JVM 垃圾回收(GC 在什么时候,对什么东西,做了什么事情)前言:(先大概了解一下整个过程) 作者:知乎用户 链接:https://www.zhihu.com/question/27339390/answer/36511809 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 java堆(JavaHe...转载 2018-05-15 20:30:08 · 853 阅读 · 0 评论 -
最简明扼要的 Systemd 教程,只需十分钟
systemctl常用命令介绍~~~Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。使某服务自动启动systemctl enable httpd.service使某服务不自动启动systemctl disable h...转载 2018-05-04 11:39:33 · 65336 阅读 · 7 评论 -
String StringBuilder StringBuffer三者之间的区别~~~
String StringBuilder StringBuffer三者之间的区别~~~String是字符串常量,一旦创建,就不能改变了;StringBuilder和StringBuffer是字符串变量,可以后期增加或减少;StringBuilder是线程不安全的,其里面的方法实现并没有使用关键字 synchronized,适合用在单线程;StringBuffer是线程安全的,其里面的方法实...原创 2018-04-28 21:06:16 · 199 阅读 · 1 评论 -
forward和redirect的区别是什么?
forward和redirect是什么?是servlet种的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。两者的区别总结:1.从地址栏显示来说:1)forword是服务器内部的重定向,服务器直接访问目标地址的 url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。2)redirect是服务器根据逻辑,发送一个...原创 2018-05-19 16:28:31 · 60637 阅读 · 25 评论 -
Java基础日常总结!!
Java基础日常总结!!1. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位在java中一个unicode占2个字节(byte).一个字节等于8比特位(bit).所以每个Unicode码占用 16 个比特位.2. 【Java.Spring.MVC】Spring在Web容器中的启动过程首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局...原创 2018-05-19 11:16:06 · 194 阅读 · 0 评论 -
Java面试日常总结大杂烩
日常总结大杂烩:一。 取出特定行数的数据1. select* from 表名 limit m,n;2. select * from 表名 limit [offset,] rows;1. m代表从m+1条记录行开始检索,n代表取出n条数据。(m可设为0)如:select * from表名 limit 6,5;表示:从第7条记录行开始算,取出5条数据 2.值得注意的是,n可以被设置为-1,当n为-1...原创 2018-05-18 22:15:41 · 228 阅读 · 0 评论 -
EL表达式
EL表达式EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。1、语法结构${expression}2、[ ]与.运算符EL 提供“.“和“[ ]“两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或...转载 2018-05-18 11:17:05 · 212 阅读 · 0 评论 -
MySQL优化建议汇总~~~
MySQL优化建议汇总~~~1、将经常要用到的字段(比如经常要用这些字段来排序,或者用来做搜索),则最好将这些字段设为索引2、字段的种类尽可能用int或者tiny int类型。另外字段尽可能用not null3、当然无可避免某些字段会用到text,varchar等字符类型,最好将text字段单独出另外一个表出来(用主键关联好)(能用枚举的就尽量不要用text,因为在MySQL中,ENUM类型被当作...转载 2018-05-11 22:06:31 · 270 阅读 · 0 评论 -
Servlet入门总结
一、了解Servlet的概念 Servlet定义:Servlet是基于Java技术的Web组件,由容器管理并产生动态的内容。Servlet引擎作为WEB服务器的扩展提供支持Servlet的功能。Servlet与客户端通过Servlet容器实现的请求/响应模型进行交互。注意:Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载1)Servlet是按照Serv...转载 2018-05-20 17:07:29 · 295 阅读 · 1 评论 -
Java过滤器与SpringMVC拦截器之间的关系与区别
Java过滤器与SpringMVC拦截器之间的关系与区别~~过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器依赖于spring容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,...转载 2018-05-09 22:21:02 · 194 阅读 · 1 评论 -
谈谈 final、finally、 finalize 有什么不同?
谈谈 final、finally、 finalize 有什么不同?final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch...转载 2018-05-14 16:37:27 · 2503 阅读 · 0 评论 -
一篇博客读懂设计模式之---单例模式
常用设计模式学习与总结~~~一。 单例模式有以下的特点:(eg。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。为了避免不一致状态)1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。1)懒汉式单例:Singleton通过将构造方法限定为private避免了类在外部被实例化...原创 2018-04-24 15:57:09 · 228 阅读 · 0 评论 -
多线程中 start()和run()方法的区别
多线程中 start()和run()方法的区别Java线程一直是一个比较容易困扰的地方,首先,我们来认识下怎样生存线程。认识 Thread 和 Runnablejava中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合实现。在使用Thread的时候...转载 2018-05-25 20:07:04 · 739 阅读 · 0 评论 -
Spring MVC 流程图解析
Spring MVC 流程图解析Spring MVC工作流程图图一图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的...转载 2018-05-21 19:31:34 · 4841 阅读 · 0 评论 -
关于面向对象以及三大特征的解释
关于面向对象以及三大特征的解释面向对象: 在C语言编程中是面向过程而在Java编程中是面向对象的。面向过程更重要的是看重实现的具体过程,面向对象看重的是结果,不管其里面的具体过程,只看结果。 举一个例子:我们从住的地方到公司去上班的方法:一个是自己开车一个是打车 面向过程:就是相当于自己开车,自己需要去关注行驶的路...转载 2018-05-14 22:32:30 · 5583 阅读 · 1 评论 -
Java 集合Collection常见知识点汇总~
看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧。java.util包中包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式。接口:CollectionCollection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elem...转载 2018-05-14 22:12:37 · 773 阅读 · 0 评论 -
数据库的哪些事儿~~
一 . 事务的四个特性?四大特性是:ACID 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)+介绍四个特性概念;原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性:在事务开...转载 2018-04-24 09:45:37 · 165 阅读 · 0 评论 -
详解HTTP协议~~~
详解HTTP协议~~~HTTP 简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 工作原理HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP...原创 2018-05-20 20:33:17 · 658 阅读 · 0 评论 -
史上最容易理解————GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦...转载 2018-05-11 16:10:39 · 2660 阅读 · 0 评论