
Java
iokay.cn
90后JAVA攻城狮一个,喜欢编程,有点小geek
展开
-
SpringMVC+Spring+Hibernate+Mybatis+Shiro等整合及开发(2)
spring+hibernate+mybatis整合 上面我们整合spring 和springmvc 因为都是spring的东西所以只要保证版本一致就能顺利的跑起来。我使用的本本如下<properties> <spring.version>4.3.14.RELEASE</spring.version> <myb...原创 2018-03-16 15:58:11 · 1472 阅读 · 0 评论 -
Java并发包ReentrantReadWriteLock读写锁
读写锁ReentrantReadWriteLock简介ReentrantReadWriteLock是ReadWriteLock接口的实现,ReentrantReadWriteLock中有两个静态内部类:ReadLock读锁和WriteLock写锁,这两个锁实现了Lock接口,ReentrantReadWriteLock支持可重入,同步功能依赖自定义同步器(AbstractQueuedSynchro...原创 2018-03-31 23:56:56 · 1359 阅读 · 0 评论 -
Jedis Spring原生整合
记录一次Jedis和Spring的原生整合 需要的jedis的jar包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> ...原创 2018-03-22 00:06:34 · 1632 阅读 · 0 评论 -
Collection和Map常用类和特征,及其特点
1.ArrayList 底层实现为数组,默认初始化话大小为10(1.7是在add的时候默认初始化的) ,扩容为原来的两倍,所以若果知道所要存的大概的大小就初始化时给个初始化大小,避免数组扩容损失性能,具备数组的特点,查找添加数据快,删除插入数据慢private static final int DEFAULT_CAPACITY = 10;2.LikedList 底层实现为双向链表,具备...原创 2018-04-10 21:50:44 · 1433 阅读 · 0 评论 -
Java简单分析程序运行内存
先来随便拿一个Userinfo对象package com.yanghs.test.clone;import com.yanghs.common.entity.hbm.UserRole;import java.io.Serializable;import java.sql.Timestamp;import java.util.Collection;/** * @author...原创 2018-04-11 17:57:27 · 1245 阅读 · 0 评论 -
快速排序,选择排序,冒泡排序
一。快速排序从数列中选取一个数作为基数用于比较,记为cardinal将大于cardinal的数全部放在右边,将小于cardinal的数全部放在左边,进行分区再对左右两边的分区重复进行第二步,直到分区只有一个数快速排序是基于分治策略的,分治策略常用的解决方法就是二分法,递归解决上面用图走了一遍第一次快速排序,这种方法是左右交换的办法比较实用,还有挖坑填值法,可以自去看看,下面是java代码的实现pu...原创 2018-03-29 15:06:52 · 1364 阅读 · 0 评论 -
java克隆的对象
第一种实现Cloneable接口重写clone方法第二种实现Serializable序列化,深度克隆第一种:package com.yanghs.test.clone;import com.yanghs.common.entity.hbm.UserRole;import java.io.Serializable;import java.sql.Timestamp;import java...原创 2018-03-29 15:35:58 · 1304 阅读 · 0 评论 -
weblogic12 javassit hibernate 踩坑实践
今天接到通知需要给某个地方上系统,对方的环境以及搭建好了weblogic12c ,本地开发测试是11g 10g和tomcat,所以需要拿到12c环境上测试一些。 果不其然报错了 HHH000142: java.lang.ClassCastException: Xxxxxxxxxxxxxxxxxxxxxxxxx.Org_$$_javassist_111 cannot be cast t...原创 2018-04-13 17:14:06 · 1410 阅读 · 0 评论 -
java socket基本理解 聊天室demo
项目demo 点击打开链接TCP三次握手的过程如下:(1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。(2)服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。(3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。TCP四次挥手(1) 某个应用进程首先调用cl...原创 2018-04-19 17:57:18 · 1262 阅读 · 0 评论 -
ThreadLocal使用方法
ThreadLocal:用于实现线程内部的数据共享叫线程共享(对于同一个线程内部数据一致),即相同的一段代码 多个线程来执行 ,每个线程使用的数据只与当前线程有关。 实现原理:ThreadLocal相当于一个map 当前线程 存储当前的变量的时候 map.put(确定线程的唯一值(比如变量名称),变量),然后获取的时候直接拿过来就行 一般用法:定义一个全局变量ThreadLoa...原创 2018-03-31 17:47:48 · 19958 阅读 · 5 评论 -
传统线程同步通信synchronized
1.典型的生产者消费者问题 先生产再消费,A生产完后 通知B消费 B消费完后通知A 再生产 依次往复。 package com.yanghs.test.pro;/** * @author yanghs * @Description:沟通资源 * @date 2018/3/30 23:49 */public class Movie { private String pic...原创 2018-03-31 11:08:06 · 1356 阅读 · 0 评论 -
Java比较两个对象相等。
Java比较两个对象相等。 一般的比较有== 和equals解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。equals的情况比较复杂,它是java.lang.Obj...原创 2018-03-16 16:59:24 · 1218 阅读 · 0 评论 -
疯狂JAVA笔记
定义参数可变的 方法; 重载 构造器中调用其他构造器 super限定调用父类方法 初始化模块 java tostring()方法 java变量 分为 运行时和编译时 变量。 比如特殊的string a = "ssss";在编译时 就确定了。 而 new string() 就只能在运行时才知道单例类 处理行为 到运行时才知道。 用接口实现 枚举 enum 枚举使用接口实例化接...原创 2018-03-16 21:30:31 · 1185 阅读 · 0 评论 -
Servlet基础(转载,具体谁的忘记了在我的本地笔记里面)
一、 什么是Servlet看见这个词我就晕,到底是什么?我试着说清楚,从大的方面来说,它是一个在Web中生成动态内容的标准,即是用于开发Web应用程序的基本技术;从小的方面来说它是Java提供的一个接口Servlet,我们也把实现这个接口的类称为Servlet。它和CGI相对,但是它不向CGI一样每次接受一个Http请求都会创建一个进程(想想Chrome),它每次执行完它的第一个请求之后都会驻留在...转载 2018-03-16 21:33:39 · 1034 阅读 · 0 评论 -
Mybatis SqlSessionTemplate优点
SqlSessionTemplate SqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会...原创 2018-03-16 21:43:06 · 1776 阅读 · 0 评论 -
SpringMVC执行流程
执行流程第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端控制器返回Handler第四步:前端控制器调用处理器适配器去执行Handler第五步:处理器适配器去执行Handler第六步:Handler执行完成给适...原创 2018-03-17 08:53:05 · 1100 阅读 · 0 评论 -
java web jsp界面解决资源文件路径问题
通常在界面中的资源文件比如js,图片,css等通过绝对路径和相对路径访问时,在你的机器或者在你部署的生产环境当时程序是没问题的但是当你换服务器很可能出问题,导致找不到文件,所以一般使用java直接得到服务路径代码如下,直接增加到jsp界面的头部<% String path = request.getContextPath(); String basepath = re...原创 2018-03-18 22:21:27 · 2156 阅读 · 0 评论 -
Java多线程基础
简单了解一下进程和线程进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.(说白点可以理解为一个java程序,比如你运行了一个简单的helloword 程序那么这个程序就可以说是一个进程)线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资...原创 2018-03-19 22:38:54 · 1146 阅读 · 0 评论 -
单例模式
单例模式:在一个程序中只有一个对象实现步骤:私有化构造函数创建静态私有化属性创建公共获得属性的方法懒汉式和恶汉式懒汉式/*懒汉式 单例模式 加synchronized解决并发问题 但是这样效率就变低了/class Sigin { /*私有化 避免外部创建*/ private static Sigin sigin = null; private Sigin(){} ...原创 2018-03-30 23:39:11 · 1272 阅读 · 0 评论 -
JAVA基础知识补漏 位运算
今天看HashMap源码的时候看着这么一句return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); 有点忘了,毕竟现在一直写业务代码,很少遇到这种代码。 这里复习一下位运算。 (这句的意思是 key为null 直接返回 0 不为null 先取hashcode 然后计算 ^ 右边的值 h无符号右移16位。 然后...原创 2018-11-24 17:37:48 · 693 阅读 · 0 评论