JAVA基础知识
文章平均质量分 62
猿来是U_U
代码是程序员思维智慧的结晶
展开
-
BufferedOutputStream
转自: https://blog.csdn.net/u012332679/article/details/48232003BufferedOutputStream这个类其实很简单,主要是里面包含了一个8192个字节的缓冲区,可能随着以后版本的变化大小也会变化。new BufferedOutputStream(OutputStream out)这个构造函数默认分配的就是8192个字节的byte[]数...转载 2018-06-07 15:50:42 · 2477 阅读 · 0 评论 -
ApplicationContextAware接口的作用
转自:https://blog.csdn.net/bailinbbc/article/details/76446594在Web应用中,Spring容器通常采用声明式方式配置产生:开发者只要在web.xml中配置一个Listener,该Listener将会负责初始化Spring容器,MVC框架可以直接调用Spring容器中的Bean,无需访问Spring容器本身。在这种情况下,容器中的Bean处于容...转载 2018-06-07 15:18:43 · 132 阅读 · 0 评论 -
java中Inputstream和outputstream
InputStream根据名字就知道它是输入类,OutputStream是输出类InputStream之所以叫输入类,是因为它要把要需要读取的内容转化成输入流,再从它那里进行读取,而OutputStream之所以叫输出类,是因为它首先需要与写入的目的地相关联,然后通过它进行写入。输入是:把要读取的内容输入到输入流,在从输入流进行读取,所以是read()。输出是:把要输出的东西通过输出流输出到目的地...转载 2018-06-07 15:13:54 · 785 阅读 · 0 评论 -
Java中file类getPath(),getAbsolutePath(),getCanonicalPath()方法区别
file的这几个取得path的方法各有不同,下边说说详细的区别概念上的区别:(内容来自jdk,个人感觉这个描述信息,只能让明白的人明白,不明白的人看起来还是有点难度(特别试中文版,英文版稍好些)所以在概念之后我会举例说明。如果感觉看概念很累就跳过直接看例子吧。看完例子回来看概念会好些。getPathpublic String getPath()将此抽象路径名转换为一个路径名字符串。所得到的字符串使...转载 2018-06-07 14:59:50 · 79264 阅读 · 2 评论 -
Iterator
转自:https://www.cnblogs.com/realsoul/p/5550508.html一、概述 1、一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作 2、调用指针对象的next方法,就可以遍历事先给定的数据结构 3、每一次调用next方法,都会返回数据结构的当前成员的信息。具体来说,就是返回一个包含v...转载 2018-06-07 14:03:51 · 10894 阅读 · 3 评论 -
粗粒度与细粒度权限控制
1.1 什么是粗粒度和细粒度权限 粗粒度权限管理,对资源类型的权限管理。资源类型比如:菜单、url连接、用户添加页面、用户信息、类方法、页面中按钮。。粗粒度权限管理比如:超级管理员可以访问户添加页面、用户信息等全部页面。部门管理员可以访问用户信息页面包括 页面中所有按钮。 细粒度权限管理,对资源实例的权限管理。资源实例就资源类型的具体化,比如:用户id为001的修改连接,1110班的用户信息、...转载 2018-06-07 09:05:18 · 1856 阅读 · 0 评论 -
Java IO 之 BufferedReader 字符输入缓冲类使用示例和详解
转自:https://blog.csdn.net/qq_27093465/article/details/53317035BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 Buf...转载 2018-06-06 17:54:47 · 429 阅读 · 0 评论 -
getRemoteAddr()和getRemoteHost() 区别
System.out.println("request.getRemoteAddr(): " + request.getRemoteAddr()); System.out.println("request.getRemoteHost(): " + request.getRemoteHost()); 得到的结果相同(局域网内试验的结...转载 2018-06-06 16:58:09 · 12389 阅读 · 1 评论 -
Java 枚举(enum) 详解7种常见的用法
JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { RED, GREEN...转载 2018-05-24 11:51:32 · 122275 阅读 · 13 评论 -
./和../以及/之间的区别
./ 当前目录../ 父级目录/ 根目录(一)1 ./ 当前目录项目的根目录是http://localhost:8080/ServletPathDirectionDemo/TestServlet.java位于servlet包下,访问地址是 http://localhost:8080/ServletPathDirectionDemo/servlet/TestServlet在dopost方法中重定向:...转载 2018-05-24 11:04:25 · 3729 阅读 · 0 评论 -
Response.AddHeader
Response.AddHeader使用实例 1.文件下载,指定默认名 Response.AddHeader("content-type","application/x-msdownload"); Response.AddHeader("Content-Disposition","attachment;filename=文件名.rar"); 2.刷新页面 R...转载 2018-06-07 15:53:54 · 13989 阅读 · 0 评论 -
深入理解Java中的IO
Java IO概要 a.Java IO中常用的类 b.Java流类的类结构图1.流的概念和作用2.Java IO所采用的模型 :3.IO流的分类4.Java IO流对象 1.输入字节流InputStream 2.输出字节流OutputStream 3.字符输入流Reader 4.字符输出流Writer5.字符流的输入与输出的对应6.字符流与字节流转换7...转载 2018-06-08 09:28:57 · 308 阅读 · 0 评论 -
MultipartFile转换File完整版
(一) 从springmvc获取到的文件是MultipartFile类型的,有的时候不能直接用从这种类型获取到的inputstream操作一些事情,比如从中初始化poi的Workbook,这时候要怎么获取到File式的流呢? 有一个方法就是把读到的MultipartFile转存到本地,然后再从本地读取这个转存的这个临时文件,从中获取文件流。这么写的话可以达到目的但是听起来就很繁琐对不对。...转载 2018-06-08 09:35:33 · 65521 阅读 · 7 评论 -
httpSession的正确理解
关于HttpSession的误解实在是太多了,本来是一个很简单的问题,怎会搞的如此的复杂呢?下面说说我的理解吧:一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束。其工作原理是这样的:1.当一个用户向服务器发送第一个请求时,服务器为其建立一个session...转载 2018-09-06 09:47:51 · 32158 阅读 · 2 评论 -
request.getRemoteAddr():获得IP地址
转自:https://www.cnblogs.com/nuke/archive/2009/06/25/1510896.htmlSystem.out.println("request.getRemoteAddr(): " + request.getRemoteAddr()); System.out.println("request.getRemoteHost(): " + request.getRe...转载 2018-06-28 17:59:34 · 32284 阅读 · 1 评论 -
o(1), o(n), o(logn), o(nlogn)
转自:https://blog.csdn.net/Mars93/article/details/75194138点击打开链接在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗...转载 2018-06-28 08:26:19 · 31097 阅读 · 2 评论 -
什么是原子性,什么是原子性操作?
转自:https://blog.csdn.net/android_mrchen/article/details/77866490点击打开链接举个例子:A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作: 1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。 2. 在B的帐户里...转载 2018-06-28 08:25:16 · 3588 阅读 · 3 评论 -
Java中的private、protected、public和default的区别
这个问题 应该很老了,但是确实是重点中的重点,如果没有真正的都用过这些修饰符,其实对其的作用并不深刻,我也没用过默认的修饰符,所以有时候也总把friendly和protected搞混,还因为这个丢失了一次很好的工作机会,随意今天又重新弄了一下跟大家分享,没事自己就看看。 (1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情...转载 2018-06-29 17:48:26 · 651 阅读 · 0 评论 -
javaWeb项目中到底什么是单例,多例
转自:https://www.cnblogs.com/doudouxiaoye/p/5711414.html点击打开链接你用杯子喝可乐,喝完了不刷,继续去倒果汁喝,就是单例。你用杯子喝可乐,直接扔了杯子,换个杯子去倒果汁喝,就是多例。数据库连接池就是单例模式,有且仅有一个连接池管理者,管理多个连接池对象。1. 什么是单例多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和...转载 2018-06-29 17:45:08 · 3472 阅读 · 2 评论 -
计算机中的换行符、回车符、\n、\r、\n\r 的区别
'\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed)\r 是回车,return\n 是换行,newline对于换行这个动作,unix下一般只有一个0x0A表示换行("\n"),windows下一般都是0x0D和0x0A两个字符("\r\n"),苹果机(MAC OS系统)则采用回车符CR表示下一行(\r)Unix系统里,每行结...转载 2018-06-08 10:40:31 · 57234 阅读 · 0 评论 -
Java中BufferedInputStream和BufferedOutputStream基本使用详解
转自:https://blog.csdn.net/lyb1832567496/article/details/52727862打开BufferedInputStream的使用BufferedInputStream:缓冲字节输入流,是一个高级流(处理流),与其他低级流配合使用。构造方法//创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。创建一个内部缓冲区...转载 2018-06-08 09:55:32 · 4553 阅读 · 0 评论 -
理解Cookie和Session机制
转自:https://www.cnblogs.com/andy-zhou/p/5360107.html打开链接 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Cookie的有效期Cookie的修改、删除Cookie的域名Cookie的路径Cookie的安全属性JavaScript操作...转载 2018-06-22 15:24:21 · 256 阅读 · 0 评论 -
Java中 Serializable的使用
最近在阅读JDK源码中的集合,看到很多集合类实现了Serializable接口,Cloneable接口。在阅读了很多关于Serializable接口的博客后,浅谈下我对Serializable接口的理解。序列化查看 官方文档 就会发现 Serializable接口中一个成员函数或者成员变量也没有。那么这个接口的作用是什么呢。网上找了一些博客看过之后,知道这个接口的作用是实现序列化。序列...转载 2018-06-08 09:27:42 · 4284 阅读 · 0 评论 -
Dubbo在项目中的应用
关于dubbo的使用,我们举个简单例子:存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表。在上一篇博文介绍了dubbo的创建,zookeeper的创建完成后,我们可以来使用dubbo和zookeeper了?再回顾下dubbo的架构:所以通过此图,我们看到就是服务的提供者将服务注册到注册中心,服务的消费者从注册中心获取服务,monitor监控服务的调用。所谓框架无非就是...转载 2018-06-04 18:09:10 · 2832 阅读 · 0 评论 -
Dubbo架构设计详解
转自:简单之美Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详...转载 2018-06-04 15:37:53 · 134 阅读 · 0 评论 -
spring事务传播属性和隔离级别
1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if none exists. 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当前...转载 2018-05-07 19:37:12 · 144 阅读 · 0 评论 -
JAVA基础之-----ssh (MVC软件开发模式)
SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。Struts编辑Struts对Model,View和Controller都提供了对应的组件。 分为Struts1和Struts2,区别甚大。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型...转载 2018-05-06 14:31:10 · 1596 阅读 · 0 评论 -
struts1和struts2和springMVC的区别和介绍
MVC是web开发常用的模式,M即模型层(Model):主要由javabean来实现。V即视图层(View):主要由jsp、velocity、freemarker等。C即控制层(Controller):主要由servlet、strtus、springmvc来实现。 struts1Struts1 工作流程1 ActionServlet接收由浏览器发出的请求后,检索和请求匹配的ActionMappi...转载 2018-05-06 14:23:45 · 1135 阅读 · 0 评论 -
操作系统整理
1. 进程和线程的区别进程进程,即正在运行的程序,程序从硬盘载入到内存就变成进程。进程是资源的拥有者,每个进程都拥有着自己的内存空间与多个线程。线程线程是指令的执行者,是计算机执行指令的基本单元,一个进程可以拥有多个线程。线程的引入主要有如下原因:响应:与进程相比,创建线程不涉及或较少涉及资源分配,因此速度较快资源共享:线程间可以共享资源,同一个进程内两个线程通信快经济:创建线程不涉及或较少涉及资...转载 2018-05-13 21:03:57 · 149 阅读 · 0 评论 -
Final、finally、finalize区别
1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。被final声明的方法也同样只能使用,不能重载。【例】public class ...转载 2018-05-05 20:28:00 · 143 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对...转载 2018-05-05 20:07:49 · 111 阅读 · 0 评论 -
java中的分布式应用(一)之分布式介绍
分布式概念要理解分布式系统,主要需要明白一下2个方面:1.分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。2.这些连通的节点上部署了我们的节点,并且相互的操作会有协同。 分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已,而实际上这些服务是通过背后的众多服务器组成的一个分布式系统,因此分布式系统看起...转载 2018-05-05 20:00:19 · 199 阅读 · 0 评论 -
Log4j配置详解
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog...转载 2018-05-17 16:20:59 · 168 阅读 · 0 评论 -
JDK-JRE-JVM认识小结
转载自:www.360doc.com/content/17/0603/20/43284313_659626933.shtmlJDK:JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称...转载 2018-04-25 11:55:47 · 120 阅读 · 0 评论 -
Listener监听器之servletContextListener、httpSessionListener、servletRequestListener整理
版权声明:本文为【涂宗勋的技术博客】原创,若要转载,请【务必】注明出处:http://blog.csdn.net/tuzongxun https://blog.csdn.net/tuzongxun/article/details/55253119 在java web应用中,listener监听器似乎是必不可少的,常常用来监听servletContext、httpSession、servletR...转载 2018-04-19 15:08:53 · 343 阅读 · 0 评论 -
Spring依赖注入的四种方式(重点是注解方式)
原文地址: Spring中依赖注入的四种方式 在Spring容器中为一个bean配置依赖注入有三种方式:· 使用属性的setter方法注入 这是最常用的方式;· 使用构造器注入;· 使用Filed注入(用于注解方式). 使用属性的setter方法注入首先要配置被注入的bean,在该bean对应的类中,应该有要注入的对象属性或者基本数据类型的属性。例如:为UserBiz类注入UserDAO,同时...转载 2018-05-07 19:37:04 · 5555 阅读 · 0 评论 -
过滤器与拦截器区别
参考:http://www.cnblogs.com/dreamroute/p/4198087.html?utm_source=tuicool过滤器过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。它是随你的web应用启动而启动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁。作用请求和回应的过滤,传入的request,respons...转载 2018-05-08 06:42:11 · 122 阅读 · 0 评论 -
Java生成一定规则递增编号
项目需求中有时需要生成一定规则递增编号。例如生成设备编号:设备类型+五位编号(从1开始,不够前补0),也就是SYXH000001/SYXH00002/SDOI00001类似这样。 那么如何处理000001自增1变为000002呢?实现代码:package com.lyf.test;public class Test2 { /** * 生成规则设备编号:设备类型+五位编号(从...转载 2018-05-28 15:26:54 · 38833 阅读 · 0 评论 -
String.Join方法
转自:https://blog.csdn.net/u010232305/article/details/51055509String.Join 方法 (A (String), B (String[])); 在指定 String 数组B的每个元素之间串联指定的分隔符 A,从而产生单个串联的字符串 string [] tmpStr={abc,def,ghi};string jn = string.Jo...转载 2018-05-28 14:26:16 · 38195 阅读 · 0 评论 -
Java的String中的subString()方法
方法如下:public String substring(int beginIndex, int endIndex)第一个int为开始的索引,对应String数字中的开始位置,第二个是截止的索引位置,对应String中的结束位置1、取得的字符串长度为:endIndex - beginIndex;2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字...转载 2018-05-23 11:22:48 · 10598 阅读 · 0 评论