java 基础
quifar123
这个作者很懒,什么都没留下…
展开
-
类加载器
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用转载 2016-10-15 15:16:38 · 265 阅读 · 0 评论 -
为什么要使用Mybatis ORM框架?前奏二
我们知道每执行一次sql语句都需要创建与数据库的链接,这样太消耗性能了,于是下一步就是使用池化技术了。这里说一下数据库连接池的基本实现和原理。连接池本质就是存放已经创建好的固定数量的链接实例,方便后期执行sql语句操作时获取。步骤如下:1.实现java.sql.DataSource接口,然后使用LinkedList存储链接实例即可。为了简单,这里省略了DataSource接口的其他需要...原创 2019-01-23 17:42:30 · 572 阅读 · 0 评论 -
为什么要使用Mybatis ORM框架?前奏一
1.在使用java编程过程中,如果要将数据库持久化,我们可以选择mysql,oracle,ms sql等存储系统。这里我们选择mysql。2.java要操作mysql数据库,在不使用其他框架的情况下,非常简单。 2.1.首先需要引入mysql官方提供的mysql-connector-java.jar包。 2.2.提供数据库服务的url、user、password即可。简单的操作...原创 2019-01-23 17:23:47 · 632 阅读 · 0 评论 -
Mybatis基础四(Mybatis一级缓存,二级缓存)
Mybatis提供了两个缓存级别:一级缓存,二级缓存。一、一级缓存 我们知道Mybatis一级缓存是框架开启的,是属于一个SqlSession级别的缓存(和数据库会话的缓存也就是说它的作用域是会话范围),所以在一级缓存策略没有失效的情况下,同一个会话的重复查询,mybatis只会执行一次请求。后面的相同查询都会直接使用缓存(Map)的内容。1.1 造成一级缓存失效的情况有四个1.1...原创 2019-01-27 10:13:34 · 218 阅读 · 0 评论 -
Mybatis基础三(内置参数_parameter,_databaseId)
除了映射接口的方法传递过来的参数外,Mybatis内置了两个参数_parameter,_databaseId。1. _parameter:Mybatis会把方法传递过来的参数封装到该参数中,代表整个参数对象,如果方法传递过来的只有一个简单类型(对应封装类)的参数,如getUser(String name),那么此时_parameter = name,如果传递的是多个参数或引用参数,那么Myba...原创 2019-01-27 08:43:32 · 1965 阅读 · 2 评论 -
Mybatis基础二(获取自增主键的值)
一般情况下,假如我们需要在增加一个主键自增的对象成功后,拿到该对象的自增主键ID,Mybatis也是支持的。关于这部分的知识我们可以看一下JDK原生的接口,java.sql.Statement类中的getGeneratedKesy()接口获取自增主键值。Mybatis的操作如下:1.在insert 语句中使用useGeneratedKeys="true" 属性与keyProperty=...原创 2019-01-25 22:02:13 · 361 阅读 · 0 评论 -
Mybatis基础一
根据Mybatis官网http://www.mybatis.org/mybatis-3/zh/index.html可以看到使用Mybatis使用的java工程中是非常简单的,提供了两种非常方便的方式:基于XML配置文件方式和基于Java编码方式。不管基于那种方式,要使用Mybatis框架,都必须需要两个基础元素,那就是 数据源(DataSource)和事务管理器(TransationManager...原创 2019-01-24 11:37:41 · 152 阅读 · 0 评论 -
为什么要使用Mybatis ORM框架?前奏三
1.当我们自己实现java.sql.DataSource类实现一个连接池时,发现虽然减少了数据库连接的创建与销毁,提高了一定的性能,但是由于我们在项目中需要频繁的跟数据库打交道,我们需要更方便的使用数据库连接,于是需要对数据库操作的进行进一步封装,比如对数据库的增删改查操作的基本操作或批量操作,同时还会涉及到事务的提交与回滚、缓存等,而且sql语句与业务代码耦合性太高了,特别是sql语句非常长的时...原创 2019-01-24 10:52:40 · 368 阅读 · 0 评论 -
记录使用Nginx做代理后,spring boot 日志获取真实IP
设置NGINX,把真实IP转发过来location / { proxy_pass http://127.0.0.1:8008/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; prox...转载 2018-12-12 16:20:44 · 7369 阅读 · 0 评论 -
消息中间件-kafka
一、目前市面上比较流行的注册中心有Zoopeeker、consul、Eureka、etcd。1. Zoopeeker:Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination. Zoopeep...原创 2018-06-19 21:45:44 · 5505 阅读 · 1 评论 -
Netty 使用安全的连接即HTTPS连接
当需要使用安全的连接即HTTPS连接时,需配置SslHandler到ChannelPipeline,SslHandler无需另外写出,调用NETTY封装的即可,传入的SSLEngine在下面生成package com.lin.socket.ssl; import java.security.KeyStore;import java.security.Security; import转载 2017-01-23 11:08:39 · 8996 阅读 · 1 评论 -
Maven之(六)setting.xml配置文件详解
setting.xml配置文件maven的配置文件settings.xml存在于两个地方:1.安装的地方:${M2_HOME}/conf/settings.xml2.用户的目录:${user.home}/.m2/settings.xml前者又被叫做全局配置,对操作系统的所有使用者生效;后者被称为用户配置,只对当前操作系统的使用者生效。如果两者都存在,它们的内容将被合并,并且用户范围转载 2017-02-07 09:17:32 · 479 阅读 · 0 评论 -
URLClassLoader使用方法和实例 类加载器
1、首先了解下Java几个加载器的基本原理: Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader。转载 2016-10-15 13:45:53 · 2501 阅读 · 0 评论 -
JAVA 文件监控 WatchService
概述java1.7中 提供了WatchService来监控系统中文件的变化。该监控是基于操作系统的文件系统监控器,可以监控系统是所有文件的变化,这种监控是无需遍历、无需比较的,是一种基于信号收发的监控,因此效率一定是最高的;现在Java对其进行了包装,可以直接在Java程序中使用OS的文件系统监控器了。使用场景场景一:比如系统中的配置文件,一般都是系统启动的时候只加载一次,如果想修改配...转载 2019-08-17 10:49:32 · 310 阅读 · 0 评论