擅长Android ,J2EE开发 博客园地址:http://www.cnblogs.com/androidsuperman/p/7834762.html github地址: https://github.com/soyoungboy
Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。
Kotlin中网络请求和Json解析: Request(url).run()为Kotlin中的网络请求方式,Json解析是自己封装类的操作。 Json.get().toObject(Request(url).
采用LRU算法实现的话就是将最老的数据删掉。利用LRU缓存,我们能够提高系统的性能. 一,是它本身已经实现了按照访问顺序的存储,也就是说,最近读取的会放在最前面,最不常读取的会放在最后(当然,它也可以实现按照插入顺序存储)。
2017/11/14 21:20 Unable to run 'adb': null 21:20 'E:\AndroidSDK\platform-tools\adb.exe start-server' failed -- run manually if necessary 21:2...
1 Spring拦截器的基本功能是什么? 拦截器是基于Java的反射机制的,是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。
StringBuilder和StringBuffer的区别: String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder 字符串变量 可变 非线程安全 字符串拼接直接在字符串后追加 1.
开发中一般使用Redis单机,线上使用Redis集群,因此需要实现单机和集群之间的灵活切换 pom配置: redis.clients jedis Redis单机和集群之间的灵活切换的封装: JedisClient.
今天开发过程中出现如下异常 Gradle sync failed: Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.
搭建ZooKeeper服务注册中心 上传文件: zookeeper-3.4.9.tar.gz 解压zookeeper-3.4.9.tar.gz 将/opt/zookeeper-3.4.9/conf/zoo_sample.
1、导包 SpringIOC+Spring数据库 c3p0-0.9.1.2.jar commons-logging-1.1.3.jar mysql-connector-java-5.1.7-bin.
配置通过静态工厂方法创建的bean public class StaticBookFactory { //静态工厂方法; public static Book getBook(String bookName){ System.
首先 上两个地址:地址①http://localhost:8989/SSSP/emps?pageNo=2地址②http://localhost:8989/SSSP/emp/7如果想获取地址①中的 pageNo的值 ‘2’ ,则使用 @RequestParam ,如果想获取地址②中的 emp/7 中...
1.安装相关环境 yum install -y gcc-c++ yum -y install libevent yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel2.
源码安装 不同发行版使用的安装程序都不同,所以官方提供了源代码,我们需要将原代码编译后再安装。 源程序使用C语言开发,所以需要安装C语言的编译环境。 安装Nginx环境和第三方支持库 yum install -y gcc-c++ yum install -y pcre pcre-deve...
概述: LinkedHashMap实现Map继承HashMap,基于Map的哈希表和链该列表实现,具有可预知的迭代顺序。 LinedHashMap维护着一个运行于所有条目的双重链表结构,该链表定义了迭代顺序,可以是插入或者访问顺序。
VI和VIM介绍 VIM是VI的升级版。 Linux系统环境下的文本编辑器。进入VIM的命令 vim 文件名 文件名如果存在,则打开这个文件 文件名如果不存在,仍然能够进入VIM编辑器,保存退出后会创建这个名词的文件 1.
什么是跨域? 1)、请求是执行过去了,但是响应的数据拿不到 2)、浏览器有一个安全限制叫同源策略(针对ajax请求); 从http://localhost:80/member/apply.html页面发ajax发到http://localhost:8083/realauth/baseinfo这...
commons-email是在JavaMail的基础上简化邮件开发的。 分别提供了如下: SimpleEmail: 用来发送基本的基于文本的电子邮件。 MultiPartEmail :发送带有附件的电子邮件。
hashMap数据结构图: HashMap特点: 允许一个记录的键为null; 允许多条记录的值为null; 非线程安全,任意时刻多线程操作hashmap,有可能导致数据不一致,可以通过Collections的synchronizedMap来实现Map的线程安全或者使用concurrentHashMap。
把james解压到任何一个非中文无空格目录下; lib下添加必要的jar文件: 运行run.bat命令服务器,使用期间不要关闭。 创建邮件数据库 创建配置文件:james-database.
AOP:(Aspect Oriented Programing):面向切面编程 定义:指在程序运行期间,动态的将某段代码插入到指定方法的指定位置进行运行的一种编程方式; SpringAOP:面向切面编程;底层就是动态代理; Spring为了简化动态代理,提供了AOP功能; 使用SpringAOP完成...
使用SimpleDateFormat来实现格式化日期 import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(S...
会自动注册:RequestMappingHandlerMapping 、RequestMappingHandlerAdapter 与ExceptionHandlerExceptionResolver 三个bean。
Spring 定义了 3 种类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到 ConversionServiceFactoryBean 中: Converter:将 S 类型对象转为 T 类型对象; ConverterFactory:将相同系列多个 “同质” Converter 封装在一起。
请求乱码 GET请求乱码: 原因:请求参数带在url地址上、url地址什么时候解析? tomcat收到请求对url进行编解码(ISO8859-1) 解决方案:在tomcat的8080端口配置出加上 URIEncoding="utf-8"; POST请求乱码: 原因:请求参数是带在请求体 请求体的解码是在第一次获取参数的时候 filter可以用来解决乱码 request.
事务的特性/概念 事务:一组操作要么都成功要么失败; 事务的四个关键属性(ACID): 原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可。
Spring Expression Language Spring Expression Language,Spring表达式语言,简称SpEL。支持运行时查询并可以操作对象图。 和JSP页面上的EL表达式、Struts2中用到的OGNL表达式一样,SpEL根据JavaBean风格的getXxx()、setXxx()方法定义的属性访问对象图,完全符合我们熟悉的操作习惯。
概述: ①Spring是一个开源框架 ②Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。
Mybatis读取缓存次序: 先从二级缓存中获取数据,如果有直接获取,如果没有进行下一步; 从一级缓存中取数据,有直接获取,如果没有进行下一步; 到数据库中进行查询,并保存到一级缓存中; 当sqlSession关闭的时候,把一级缓存中的数据保存在二级缓存中。
1 不在同一个sqlSession对象中 下面比较下载同一个sqlSession和不在同一sqlSession下面的两种情况: 同一sqlSession: @Test public final void testQueryClazzById() { SqlSession session = sqlSessionFactory.
mybatis概述 mybatis简介 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
什么是Ajax? AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 ajax是一种浏览器异步发起请求。
Cookie机制是采用客户端保持Http状态信息的方案。 Cookie是在浏览器访问web服务器的某个资源的时候,由web服务器在http响应消息头中附带给浏览器的一个小文本文件。 一旦web服务器保存了某个Cookie,那么它在以后每次访问该web服务器的时候都会在http请求头中将这个cookie回传给web服务器。
重定向的两种方式: 1: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 当响应状态码为302的时候,表示要重定义。
请求:对于get和post都有效果 request.setCharacterEncoding("UTF-8"); 相应: 设置服务器输出的编码为UTF-8 response.setCharacterEncoding("UTF-8"); 或者: response.
大小写控制函数 SELECT LOWER('HelloWrold'), UPPER('HelloWorld'); 字符控制函数 SELECT REPLACE('abcdababab','p','m'); 将“abcdababab”中的字符p替换成m; SELECT TRIM(' ' FROM ' HHHHHello.HHHWorldHHHHH '); 去掉两边的空格。
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。 Java类是单继承的。classB Extends classA java接口可以多继承。Interface3 Extends Interface0, Interface1, interface…… 不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢? 但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。
Java NIO 管道是2个线程之间的单向数据连接。 Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 举个例子: package com.soyoungboy.
Java NIO中的DatagramChannel是一个能收发UDP包的通道。操作步骤:打开 DatagramChannel接收/发送数据 代码举例: package com.soyoungboy.nio; import java.
传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行 IO操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降。
通道(Channel):由 java.nio.channels 包定义的。Channel 表示 IO 源与目标打开的连接。Channel 类似于传统的“流”。只不过 Channel本身不能直接访问数据,Channel 只能与Buffer 进行交互。
直接缓冲区与非直接缓冲区: 非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中。
缓冲区(Buffer): 一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类。Java NIO 中的 Buffer 主要用于与 NIO 通道进行交互,数据是从通道读入缓冲区,从缓冲区写入通道中的。
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。
http请求由三部分组成,分别是:请求行、消息报头、请求正文 HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
Android 3.0 (Api 11)引入; Fragment具有重用,易适配(平板和手机之间的)优点; 依赖Activity,生命周期受到Activity的生命周期影响; fragment生命周期每个方法的作用: onAttach()在片段已与 Activity 关联时调用(Activity 传递到此方法内)。
requestLayout: 从方法名字可以知道,“请求布局”,那就是说,如果调用了这个方法,那么对于一个子View来说,应该会重新进行布局流程。但是,真实情况略有不同,如果子View调用了这个方法,其实会从View树重新进行一次测量、布局、绘制这三个流程,最终就会显示子View的最终情况。
数字签名(Digital Signature): 数据在浏览器和服务器之间传输时,有可能在传输过程中被冒充的盗贼把内容替换了,那么如何保证数据是真实服务器发送的而不被调包呢,同时如何保证传输的数据没有被人篡改呢,要解决这两个问题就必须用到数字签名,数字签名就如同日常生活的中的签名一样,一旦在合同书上落下了你的大名,从法律意义上就确定是你本人签的字儿,这是任何人都没法仿造的,因为这是你专有的手迹,任何人是造不出来的。
今天去迅雷面试,是个数字转换成人民币的算法题: public class Rmb { /** * 人民币的基本信息和操作 * * @author soyoungboy * @version 1.
升级:重写onUpgrade方法 确定 相邻版本 的差别,从版本1开始依次迭代更新,先执行v1到v2,再v2到v3…… 为 每个版本 确定与现在数据库的差别,为每个case撰写专门的升级代码。 降级 onDowngrade()数据库降级:比如从数据库4降级到数据库3必须重写该方法。