java
文章平均质量分 66
薛8
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal、spss、sas等单词的拼写,熟悉Windows、Linux、Mac、Android、IOS、WP8等系统的开关机!
展开
-
第八届中国软件杯大赛-云监控系统设计思路
前言好久没写博客了,主要是因为最近 2 个月在忙着做 2 个比赛,一个是第八届中国软件杯大赛,另一个是阿里的第五届中间件性能挑战赛,另外还有就是忙着准备秋招,所以差不多 3 个月没写博客了,最近刚结束了中国软件杯的比赛,阿里的第五届中间件性能挑战赛也结束了初赛,所以趁着空闲的时间总结一下这两个比赛。首先汇报一下成绩,中国软件杯获得了三等奖(国家级),第五届中间件性能挑战赛初赛取得了第六名(40...原创 2019-07-28 15:19:50 · 1495 阅读 · 4 评论 -
计算机如何储存数字和字符
前言最近在学习中涉及到计算机储存、传输数字和字符等操作,由于对字节、2进制、10进制、16进制、ASCII码的概念以及它们之间的关系和转换理解的不够透彻,导致在通讯、MD5消息摘要算法等时候出现问题,是因为数据转成计算机认识的01的这个环节出现问题。由于这个问题并不是那么容易发现,所以我也算是花了挺多时间才解决了这个问题,记录下解决过程,顺便也当复习一下计算机组成原理。ASCII码在计算机...原创 2019-02-16 21:01:06 · 6909 阅读 · 0 评论 -
QQ TEA加密算法 JAVA实现
TeaUtil.java:import java.io.ByteArrayOutputStream;import java.util.Random;/** * 加密解密QQ消息的工具类. QQ消息的加密算法是一个16次的迭代过程,并且是反馈的,每一个加密单元是8字节,输出也是8字节,密钥是16字节 * 我们以prePlain表示前一个明文块,plain表示当前明文块,crypt表...原创 2019-02-07 15:36:28 · 2304 阅读 · 0 评论 -
Shiro和Spring MVC、Mybatis整合教程
文章目录前言Shiro四大功能认证授权会话管理加密Shiro三大核心概念Subject主体Security Manager安全管理器Realms域Spring、Spring MVC、Mybatis、Shiro集成项目目录添加依赖包创建数据库和实体类Dao层service层controller层配置文件测试总结前言Apache Shiro 是Java的安全框架,提供了认证(Authentica...原创 2019-02-03 00:14:48 · 249 阅读 · 0 评论 -
Shiro身份验证抛出AuthenticationException异常,解决方案
## 问题在学习Shiro的时候,遇到Shiro抛出`org.apache.shiro.authc.AuthenticationException`异常,完整异常如下:```org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.apache.shiro....原创 2019-02-01 22:40:42 · 39875 阅读 · 6 评论 -
Shiro抛出异常UnavailableSecurityManagerException
Shiro报错org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. Thi...原创 2019-02-01 19:30:44 · 813 阅读 · 0 评论 -
Spring+Tomcat+WebSocket教程 附源码
文章目录前言项目目录添加依赖包WebSocket实现Spring实现WebSocketTomcat实现WebSocketJetty实现WebSocket总结前言我们知道HTTP协议是无状态、无连接的,采用的是请求/响应模式,通信请求只能由客户端发起,服务器响应。这种请求/响应模式在客户端服务器需要持续的交互时候就显得很鸡肋,在HMTL5出来之前,要实现客户端服务器持续交互大多数都是通过AJAX...原创 2019-01-20 17:07:08 · 1261 阅读 · 0 评论 -
我是如何一步步解决问题 让Spring MVC返回HTML类型的视图
文章目录前言遇上问题问题分析遇上新问题拨开云雾见月明总结参考文章前言这两天在折腾SSM,在捣鼓Spring MVC的时候,我想让Spring MVC的前端控制器(DispatcherServlet)给用户返回的是HTML类型的视图而不是JSP类型的视图,于是我按照常规的思路,把Spring MVC配置文件里面的视图解析器配置修改成HTML后缀的,然后就遇上了各种问题了…当然这些问题也都是我对...原创 2018-12-25 20:25:24 · 6568 阅读 · 7 评论 -
【Java】SSM框架整合 附源码
前言前面已经介绍Spring和Mybatis整合,而本篇介绍在IDEA下Spring、Spring MVC、Mybatis(SSM)三个框架的整合,在阅读本篇之前,建议大家先去了解一下Spring、Spring MVC、Mybatis(三大框架基础入门传送门),会达到事半功倍的效果。至于Spring MVC相对于Servlet、JSP的优点这里就不累赘了,大家可以上网查阅相关资料。本篇注重整合...原创 2018-12-16 17:59:48 · 2585 阅读 · 0 评论 -
【Java】Spring和Mybatis整合
文章目录前言项目目录添加依赖包创建数据库和数据表新建数据表对应的实体类新建Mapper.xml文件和Mapper接口Mybatis配置文件Spring配置文件配置数据源配置Mybatis的SqlSessionFactory配置Mybatis数据映射器Mapper通过指定Mapper的接口注册相应的Bean通过扫描指定包批量将Mapper的接口并注册相应的Bean测试类前言在很多项目中,Myb...原创 2018-12-03 17:33:22 · 236 阅读 · 0 评论 -
【Java】Mybatis mapper动态代理方式
文章目录前言Mapper接口规范实现过程配置Mapper.xml配置Mapper.java接口编写Mybatis配置文件测试类前言我们在使用Mybatis的时候,获取需要执行的SQL语句的时候,都是通过调用xml文件来获取,例如:User user = (User) sqlSession.selectOne("cn.ddnd.www.Entity.User.getUser", "xue8@q...原创 2018-11-30 23:19:22 · 599 阅读 · 0 评论 -
HashMap从认识到源码分析
文章目录MapHasH表HashMap数据结构构造函数put方法get方法remove方法containsKey方法哈希表的初始化和加倍扩容resize方法参考资料MapMap在开发过程中使用频率很高的数据结构,Map是Key-value键值对映射的抽象接口,该映射不包括重复的键,既一个键对应一个值。HashMap、HashTable、ConcurrentHashMap都是Java Colle...原创 2019-03-08 15:28:31 · 432 阅读 · 0 评论 -
五分钟看懂Hashtable源码以及与HashMap的区别
文章目录前言Hashtable构造函数put方法get方法remove方法rehash方法HashMap和Hashtable区别不同点相同点参考前言上一篇我们认识了什么是Map、Hash,了解了Hash处理哈希冲突的几种常用方法(拉链法、开放定址法),以及分析了JDK1.8版本的HashMap源码,对Java集合框架有了初步的认识,我们本篇继续分析JDK1.8版本的Hashtable源码,最...原创 2019-03-08 20:35:25 · 209 阅读 · 0 评论 -
从0开始造一个轮子(方的)
文章目录前言软件架构请求信息YoHttpClient处理链调度中心连接池总结前言俗话说「不要重复造轮子」,但是我觉得通过研究大神造的轮子,然后自己去尝试造一个简陋版的,对于提升自己的软件构思是很有帮助的。回归正题,最近在做一个作业,和计算机网络相关的,笔者选择了用Java开发一个简陋版的HTTP客户端,于是笔者去拜读了Square公司开源的OkHttp,参照了Okhttp的设计思想,开发了...原创 2019-04-12 17:19:37 · 561 阅读 · 0 评论 -
深入分析synchronized原理和锁膨胀过程(二)
文章目录前言synchronized实现原理同步代码块同步方法两种同步方式区别Java对象的组成对象头实例数据对齐填充synchronized锁膨胀过程锁的优化自旋锁和自适应性自旋锁锁消除锁粗化轻量级锁偏向锁锁的转换过程三种锁的优缺点比较参考前言上一篇文章介绍了多线程的概念及synchronized的使用方法《synchronized的使用(一)》,但是仅仅会用还是不够的,只有了解其底层实现...原创 2019-03-22 23:25:04 · 14668 阅读 · 6 评论 -
CAS原理分析及ABA问题详解
文章目录什么是CASUnsafe源码分析CAS的缺点ABA问题循环时间长开销大只能保证一个共享变量的原子操作CAS的应用参考什么是CASCAS即Compare And Swap的缩写,翻译成中文就是比较并交换,其作用是让CPU比较内存中某个值是否和预期的值相同,如果相同则将这个值更新为新值,不相同则不做更新,也就是CAS是原子性的操作,其实现方式是通过借助C/C++调用CPU指令完成的,所以...原创 2019-03-13 19:08:54 · 1860 阅读 · 1 评论 -
深入理解ReentrantLock的实现原理
文章目录ReentrantLock简介AQS回顾ReentrantLock原理ReentrantLock结构非公平锁的实现原理lock方法获取锁tryRelease锁的释放公平锁的实现原理lock方法获取锁tryRelease锁的释放lockInterruptibly可中断方式获取锁tryLock超时等待方式获取锁ReentrantLock的等待/通知机制ReentrantLock和Synchr...原创 2019-03-25 13:50:44 · 1104 阅读 · 0 评论 -
synchronized的使用(一)
文章目录多线程简介synchronized简介synchronized的特性synchronized与可见性synchronized与有序性synchronized与原子性参考多线程简介在现代计算机中往往存在多个CPU核心,而1个CPU能同时运行一个线程,为了充分利用CPU多核心,提高CPU的效率,多线程就应时而生了。那么多线程就一定比单线程快吗?答案是不一定,因为多线程存在单线程没有的问...原创 2019-03-21 17:42:47 · 311 阅读 · 0 评论 -
什么是Java内存模型?
文章目录前言CPU工作过程及出现的问题CPU执行过程缓存一致性问题处理器重排序问题什么是计算机内存模型什么是Java内存模型总结参考前言要想深入了解Java并发编程,就要先理解好Java内存模型,而要理解Java内存模型又不得不从硬件、计算机内存模型说起,本文从计算机内存模型产生的原因、解决的问题谈起,然后再对Java模型进行介绍,最后对计算机内存模型和Java内存模型进行总结,希望大家看完...原创 2019-03-11 22:54:47 · 597 阅读 · 0 评论 -
一文带你快速掌握AQS
文章目录AbstractQueuedSynchronizer简介AQS数据结构AQS的功能同步队列独占模式获取资源释放资源共享模式获取资源释放资源普通队列同步队列和普通队列的关系参考AbstractQueuedSynchronizer简介AbstractQueuedSynchronizer抽象队列同步器,简称为AQS,可用于构建阻塞锁或者其他相关同步器的基础框,是Java并发包的基础工具类。...原创 2019-03-15 20:54:51 · 245 阅读 · 0 评论 -
Java volatile关键字解析
文章目录volatile简介Java内存模型volatile原理volatile的可见性volatile的有序性volatile有没有原子性?参考volatile简介volatile被称为轻量级的synchronized,运行时开销比synchronized更小,在多线程并发编程中发挥着同步共享变量、禁止处理器重排序的重要作用。建议在学习volatie之前,先看一下Java内存模型《什么是J...原创 2019-03-19 16:24:35 · 217 阅读 · 0 评论 -
10分钟掌握ConcurrentHashMap 3分钟清楚和HashMap、Hashtable的区别
文章目录前言ConcurrentHashMap构造函数put方法get方法remove方法initTable初始化方法transfer扩容方法addCount、sumCount方法size、mappingCount方法HashMap、Hashtable、ConcurrentHashMap三者对比参考前言ConcurrentHashMap顾名思义就是同步的HashMap,也就是线程安全的Has...原创 2019-03-11 00:01:36 · 638 阅读 · 0 评论 -
【Java】Mybatis接口注解实现映射
title: Mybatis接口注解实现映射date: 2018-11-30 15:50:28categories: Mybatistags:Mybatis前言上一篇文章介绍了xml文件映射SQL语句,即User user = (User) sqlSession.selectOne("cn.ddnd.www.Entity.User.getUser", "xue8@qq.com...原创 2018-11-30 16:37:30 · 1234 阅读 · 0 评论 -
【Java】Mybatis实现数据库操作
文章目录前言项目结构添加依赖包创建Mybatis配置文件创建数据库和数据表新建数据表对应的实体类新建User类的对应映射层测试类前言什么是Mybatis?维基百科是这样定义的:Mybatis是一个Java持久化框架,它通过XML描述符或注解把对象与储存过程或SQL语句关联起来。通俗点说就是Mybatis是对JPA(Java持久化API,一个Java应用程序接口规范)的实现,是为了简化数据库操...原创 2018-11-30 13:46:13 · 1877 阅读 · 0 评论 -
java创建mysql数据库
1.用java创建数据库,但是这种动态创建数据库是非主流的。一般不会这样操作。import java.sql.*;public class Test{ public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver");原创 2018-01-01 16:08:57 · 15722 阅读 · 2 评论 -
java执行连续执行多条cmd命令
命令之间用&连接例如:Process p = Runtime.getRuntime().exec("cmd /c d: & cd bin/");原创 2018-01-01 16:08:13 · 18524 阅读 · 2 评论 -
java利用sigar获取电脑cpu 内存 硬盘使用率等信息
1 下载安装sigar-1.6.4.zip 使用java自带的包获取系统数据,容易找不到包,尤其是内存信息不够准确,所以选择使用sigar获取系统信息。 下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files 在自己的Java项目中引入sig原创 2017-12-24 14:37:48 · 8642 阅读 · 6 评论 -
java读取、写入保存、遍历ini文件配置数据 实现数据同步
java读取ini配置文件,将数据写入ini文件,遍历ini文件需要引入org.dtools.javaini包,下载测试代码public static void main(String[] args) { String value =ini_read("group1","key1","default","set.ini"); ini_writ原创 2017-11-30 13:44:30 · 1504 阅读 · 0 评论 -
JAVA容器类与布局类
1. GridLayout——网格布局: 1) 网格顾名思义就是纵横分割大小一样的格网,每个格子都是矩形的,且大小相等,每个格子只能存放一个组件; 2) 构造器:最大的特点就是必须指定格网是几行几列的 i. 指定行列:GridLayout(int rows, int cols); ii. 同时指定格子之间的间距:GridLayou原创 2017-11-09 16:33:10 · 2133 阅读 · 0 评论 -
Java实现zip文件解压[到指定目录]
package com.ljheee.ziptool.core; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; im原创 2017-11-18 22:05:14 · 4771 阅读 · 0 评论 -
Java修饰符:public、protected、private、abstract、static和final区别
Java语言定义了public、protected、private、abstract、static和final这6常用修饰 词外还定义了5个不太常用的修饰词,下面是对这11个Java修饰词的介绍: 1.public 使用对象:类、接口、成员 介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的 2.private 使用对象:成员 介绍:成员只可以在定义它的类中转载 2017-11-06 13:43:35 · 4959 阅读 · 0 评论 -
java 从网络Url中下载文件
/** * 从网络Url中下载文件 * @param urlStr * @param fileName * @param savePath * @throws IOException */ public static void downLoadFromUrl(String urlStr,String转载 2017-11-18 17:40:30 · 1336 阅读 · 0 评论 -
Eclipse安装使用WindowBuilder插件
一.找到对应版本的windowbuilder打开这个链接:http://www.eclipse.org/windowbuilder/download.php如下图,显示eclipse的版本号和对应的插件链接eclipse的版本号可以在eclipse的help中查看,然后复制你对应版本号后面的link连接 如我的是4.7二.在ecl原创 2017-11-17 14:58:27 · 49172 阅读 · 11 评论 -
java 中Math.sqrt()使用注意事项 Type mismatch: cannot convert from double to float
若使用Math.sqrt() 出现Type mismatch: cannot convert from double to float那是因为Math.sqrt()返回正确舍入的一个double值的正平方根,若你将值赋值给不是double类型的变量,将会出现以上问题。例子: public class Main {public static void main(String[原创 2017-10-10 21:30:43 · 10016 阅读 · 0 评论 -
java输出\字符
“replaceAll /和\”的意思是替换所有的正斜杠为反斜杠。直接通过正则表达式进行替换即可(备注:反斜杠为"\",正斜杠为"/"),代码如下:public class Test {public static void main(String[] args) {String path = "D:/FTP/admin/bird.gif";//文件路径System.out.println(path原创 2018-01-05 17:22:06 · 7090 阅读 · 0 评论 -
【Java】Spring和Tomcat自带的连接池实现数据库操作
文章目录前言创建数据库创建实体类数据访问对象(DAO)模式UserDao接口UserDao接口的实现数据源配置装配Bean测试类前言虽然【JAVA】Spring和JdbcTemplate实现数据库操作和【JAVA】Srping和传统JDBC实现数据库操作都能实现对数据库的操作,但是这些都是使用的直连的数据源,并发小的时候还能应付过来,但是并发大了这种直连的数据源方式就不是很好的解决方案了,这时...原创 2018-11-26 20:49:52 · 2149 阅读 · 0 评论 -
【JAVA】Spring和JdbcTemplate实现数据库操作
文章目录前言创建数据库创建实体类数据访问对象(DAO)模式UserDao接口UserDao接口的实现数据源配置装配Bean测试类前言看完【JAVA】Srping和传统JDBC实现数据库操作之后,是否觉得传统的JDBC太繁琐了,就算是只写一个简单的数据库插入功能都要写好多与业务无关的代码,那么使用spring封装的JdbcTemplate就很有必要了,当然JdbcTemplate也是直连的数据源...原创 2018-11-17 18:38:20 · 4203 阅读 · 0 评论 -
【JAVA】Srping和传统JDBC实现数据库操作
文章目录前言创建数据库创建实体类数据访问对象(DAO)模式UserDao接口UserDao接口的实现前言学习完了【JAVA】Spring对JDBC的支持和【JAVA】JAVA数据源之后,那我们就可以进行数据库的操作了。创建数据库首先创建我们的数据库(这里我使用的是Mysql),为了演示方便,我这里简单的创建一个spring数据库,然后数据库有一个user用户表:创建一个名为spring...原创 2018-11-17 15:47:30 · 409 阅读 · 0 评论 -
【JAVA】JAVA数据源
文章目录前言连接池、数据源、JNDI连接池、数据源连接池思想JNDI直连数据源前言我们在进行数据访问,声明模板和repository之前【JAVA】Spring对JDBC的支持,都需要配置数据源用来连接数据库。数据源又可以分为两大类:直连的数据源 和 连接池的数据源 ,其中连接池的数据源又有多种,接下来就让我们来学习一下这两种数据源。当然在学习之前,我们首先需要知道连接池、数据源、JNDI是什...原创 2018-11-16 15:09:19 · 11411 阅读 · 0 评论 -
【JAVA】Spring对JDBC的支持
文章目录引言Spring的数据访问哲学数据访问模板引言企业应用程序经常要访问存储在数据库中的信息,因此JDK提供了一个标准接口 JDBC(Java DataBase Connection,Java数据库连接)来进行数据库访问操作。JDBC为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类,所以真正的数据库访问操作实现是由各自数据库厂商提供...原创 2018-11-15 15:20:38 · 677 阅读 · 0 评论