摘要:Request method 'GET' not supported 错误原因: GET请求不被允许。 解决方法: 1.从客户端入手。假设浏览器中的js用了ajax发起异步请求GET,将GET改为POST。 2.从服务端入手。Controller层的 @RequestMapping( method
阅读全文
摘要:Required String parameter ' ' is not present 报错原因: url中的参数错误。 解决方法: 1.修正url中的参数的值。 2.在Controller层中的@RequestParamrequired = false 也就是 @RequestParam(val
阅读全文
摘要:表单无法跳转,或者跳转出错,可能是 1.跳转的路径写错了。修正 action参数中的url即可。 2.也可能是查询按钮类型写错了。按钮的type类型一般是 submit。
阅读全文
摘要:创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab
阅读全文
摘要:联动原理 当用户点击省级的下拉选项,选择所在省,下一个下拉选项里的选项,则变成用户选择省下的所有市的信息,不会出现其它省市的信息. 省市数据 把省市数据,保存在js文件中,以json形式保存,以便读取,下面代码使用部分数据,不影响效果。 cities.js文件如下: 获取省市数据 通过js dom编
阅读全文
摘要:Semaphore是常见的同步工具类之一。 Semaphore翻译成字面意思为 信号量,Semaphore可以控制同时访问的线程个数,也称为permit(许可)。 在构造函数中指定permits个数。 可以通过 acquire()方法 获取一个许可,Semephore可用的许可数量减一,如果没有可用
阅读全文
摘要:Redis 简介 Redis 是一个高性能的key-value数据库。支持复杂的数据结构,支持持久化,支持主从集群,支持高可用,支持较大的value存储... Redis是一个nosql,非关系型数据库。 Redis 与其他 key - value 缓存产品有以下几个特点: Reids是基于内存读写
阅读全文
摘要:使用float:left,也可以使用display : inline-block,可以使多个div在同一行显示。 示例如下: 注意:记得清除浮动,不然后续会出现偏差。 效果如下:
阅读全文
摘要:java线程有6种状态: 新建线程new,启动线程runnable,阻塞block,限时等待timed_waiting,等待线程waiting,终止线程terminated 1.限时等待timed waiting :处于这种状态的线程不会被分配cpu执行时间。不过无须等待被其他线程显式地唤醒,在一定
阅读全文
摘要:日期选择器如下: 注意:某些落后版本的IE浏览器可能不支持<input type="date"> 元素。 设置默认当前日期:
阅读全文
摘要:将Date类型格式化为"yyyy/MM/dd HH:mm:ss" 函数代码如下: 使用示例: 参考博客:http://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html
阅读全文
摘要:有序性:Java内存模型中的程序天然有序性可以总结为一句话:如果在本线程内观察,所有操作都是有序的;如果在一个线程中观察另一个线程,所有操作都是无序的。前半句是指“线程内表现为串行语义”,后半句是指“指令重排序”现象和“工作内存中主内存同步延迟”现象。 volatile和synchronized两个
阅读全文
摘要:1.Java内存模型(Java Memory Model,JMM) 2.JMM定义了线程和主内存之间的抽象关系: 线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory)。 本地内存中存储了该线程以读/写共享变量的副本,本地内存是JMM的
阅读全文
摘要:CAS算法是硬件对于并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令。 CAS用于管理对共享数据的并发访问。 java的并发包中,AQS、原子操作类等都是基于CAS实现的。 CAS 是一种 无锁的 非阻塞算法的 实现。 CAS(Compare-And-Swap),简单来说就是比较和替换。
阅读全文
摘要:1 AtomicInteger解析 众所周知,在多线程并发的情况下,对于成员变量,可能是线程不安全的; 一个很简单的例子,假设我存在两个线程,让一个整数自增1000次,那么最终的值应该是1000;但是多线程情况下并不能保证原子性;最终的结果极有可能不是1000;看如下的代码: package aut
阅读全文
摘要:原文地址: https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247483917&idx=1&sn=db1b0a2093d3c0d1bb6e32263abfe137&chksm=e9c5fbbcdeb272aae9635c628f85bcc
阅读全文
摘要:在SpringBoot中使用Redis,思路如下: 查询时先查Redis缓存,如果缓存中存在信息,就直接从缓存中获取。 如果缓存中没有相关信息,就去数据库中查找,查完顺便将信息存放进缓存里,以便下一次查询。 另外,更新或者删除数据库数据时,记得删除相关的缓存。 在SpringBoot中使用Redis
阅读全文
摘要:java并发需要保证原子性,可见性,有序性。 http://www.cnblogs.com/expiator/p/9226775.html 一、volatile关键字作用如下: 1、volatile关键字,可以保证可见性。即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2、vola
阅读全文
摘要:一、hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数
阅读全文
摘要:Redis事务的命令如下所示: 先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令 示例如下: Redis 事务可以一次执行多个命令, 并且带有以下特征: 批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后
阅读全文
摘要:在redis文件夹下,启动redis服务端的命令如下: 也可以指定要加载的配置文件,如下: 启动redis客户端,如下所示:
阅读全文
摘要:Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 clie
阅读全文