自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 深度解析synchronized底层机制

转自简书:https://www.jianshu.com/p/d53bf830fa091. synchronized简介在学习知识前,我们先来看一个现象:public class SynchronizedDemo implements Runnable { private static int count = 0; public static void main(S...

2019-04-11 15:12:37 560

原创 一个Java死锁示例

没什么说的,都在注释里了:public class DeadLock { public static void main(String[] args) { //o1 o2 代表资源 Object o1 = new Object(); Object o2 = new Object(); System.out.println("go go go!"); Threa...

2019-03-25 18:00:25 256

原创 Java适配器模式生活中的实例,帮助理解

以手机充电的场景为例,写了个适配器的代码。接口: 220V电源 Interface Charge220{}手机的充电方法:void Charge(Charge220 c){}日常生活,我们可以直接获取220V电源,但是手机又不能用220V点压充电,所以我们需要一个充电器(适配器)代码如下://我们只有220V的可以直接使用的电压interface Charge220{...

2019-03-25 17:51:08 1085

转载 HashMap源码研究

转自博客园:http://www.cnblogs.com/jzb-blog/p/6637823.html 每个java程序员都知道,HashMap是java中最重要的集合类之一,也是找工作面试中非常常见的考点,因为HashMap的实现本身确实蕴含了很多精妙的代码设计。  对于普通的程序员,可能仅仅能说出HashMap线程不安全,允许key、value为null,以及不...

2019-03-23 21:17:44 164

原创 java:PreparedStatement可以防止sql注入的原因

  java中对数据库访问的方法有多种。以操作MySql数据库为例。   方法一:创建Statement对象,调用对象的execute(String)、executeQuery(String)等函数执行String字符串的sql语句。         Class.forName(com.mysql.jdbc.Driver); //加载驱动Connection con...

2018-08-18 11:54:08 10200 4

原创 基于ssm框架的web项目:简单新闻网站

项目github链接:https://github.com/xlantian/News/下载:https://download.csdn.net/download/xlantian/10583038    前段时间自己学习了ssm框架,为了检测学习的效果和巩固学的东西自己设计开发了一个简单的新闻网站。由于前端到后端都是自己一个人完成,而我对前端没什么了解,只能是现学现做,因此网站页面不是很...

2018-08-04 11:15:03 14225 12

原创 错误:It's likely that neither a Result Type nor a Result Map was specified.

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.sq.News.dao.Ne...

2018-08-03 15:40:34 15467 2

原创 初次使用ssm框架bug解决

 警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsController': Injec...

2018-07-30 16:51:39 430

原创 设计模式:单例模式懒汉式与饿汉式的区别

  在单例模式中,一个类只允许有一个实例对象。之前的理解是用户自觉遵守一个类只创建一个实例对象的规则,其实这是错误的,单例模式中,会给类做一些特殊处理,使得用户只能得到一个该类的实例对象。用户是无法获取第二个实例对象的。其中又有懒汉式和饿汉式,下面简单说一下两种方式的区别。  懒汉式:  (1):将类的构造器声明为私有化,这就使得外部无法通过构造函数创建这个类的对象了。那么如何创建这个类的唯一那个...

2018-07-08 23:08:05 3081

原创 排序算法:交换排序之冒泡排序和快速排序

在排序算法中,冒泡排序和快速排序都可以归为交换排序算法。这是因为这两个算法就是通过不断的元素之间的交换来实现元素的排序。其中快速排序是所有排序算法中综合性能最佳的算法,因此需要深入理解。 冒泡排序:以数组为例,给定一组数a[n]。 (1)选择a[0]、a[1].....a[i].....a[n-2]中一个元素进行一趟冒泡,假设为a[i]。(一共n-1趟冒泡)。 (2)这趟冒泡...

2018-07-02 21:13:13 580

原创 排序算法:详细理解插入排序(直接插入排序和折半插入排序)

  排序一般是指将表中的元素按关键字递增或递减的过程排列。排序的确切定义如下:  输入:n个记录R1,R2,......Rn,dui

2018-06-29 10:01:23 3230

原创 java: mvc设计思想实例,网页上查询数据库中数据

  前段时间学习了mvc设计模式,并按照mvc模式设计了一个网页,在这个网页上我可以根据不同条件查询数据库的数据。  关于mvc是什么,以及采用mvc模式的作用,这篇博客讲的十分浅显易懂:https://blog.csdn.net/muyi_amen/article/details/54341065  首先是显示主界面网页的jsp文件main.jsp.这是属于视图V这一部分的。这里把表单的处理方法...

2018-06-25 15:47:49 970

原创 java项目实战:处理图片水印,提取图片信息,生成excel表

  在这次应用软件设计课程中,要求从今年的软件杯大赛上的项目选择一个实现。我选的是"网店工商信息提取",具体要求就是:从给出的带水印的图片中提取出企业名称和企业注册号,并根据这些信息生成excel表格。  刚刚开始以为这个要求挺难实现的,图片识别好像是很高深的技术啊。但是认真做起来从开工到完成也没花多少时间,并不是我完成了图片识别的代码,而是我用到了谷歌一个图片识别的源码包(TESS4J)。其实不...

2018-06-24 10:50:17 6938 2

原创 java登塔小游戏,是男人就上一百层

  学习java一段时间了,很少完完全全的自己编写一个有难度点的程序。又正好赶上一门课程任务,所以前段时间自己决定用java写一个小游戏,既可以当设计作品又可以练习巩固所学。这个游戏具体规则如下:1. 在窗体中央有一座塔,塔的左边或右边会有梯子,但左右不能同时有梯子。  2. 小球初始在最下面的梯子上,按下左键或右键小球向上跳跃。  3. 小球向上跳跃一次,则所有梯子下降一个单位,上方将出现一个方...

2018-06-10 19:19:57 2019

原创 java中线程的两种创建方式与比较

  首先,回顾一下操作系统课程中进程相关部分:  进程的定义:进程就是程序在一个数据集合上的一次执行过程。他与程序的区别在于程序是静态的代码,而进程是动态的执行过程。  进程的特性:1.结构性,进程由程序块、数据块、进程控制块(PCB)组成;          2.动态性,进程是一次动态的执行过程,具有生命周期;         3.独立性,进程是系统分配资源和保护的基本单位;         4...

2018-06-07 21:25:47 4738

原创 java网络通信技术示例:简单的聊天小程序

  再学习完java的通信技术后,做了一个简单的窗体聊天程序。程序非常简单,主要目的是当练习巩固自己所学的东西,在这里写出来记录以下。下面直接上代码。首先是服务端代码:package ChatTwoPackage;import java.io.*;import java.net.*;public class ChatTwoServer { public ChatTwoServer(...

2018-05-24 20:08:40 14175 5

原创 c++中创建二维数组的方法

c++中创建数组都需要给出一个明确的大小。而实际中经常需要用到动态大小的数组以下是创建二维数组的方法:int **p=new int*[x];for(int i=0;i<x;i++){ p[i]=new int[y];} //定义二维数组x行y列 for(int i=0;i<x;i++)for(int j=0;j<y;j++){...

2018-03-21 19:19:06 723

原创 java中基本数据类型的转换的简单总结

  java中的数据类型有引用数据类型和基本数据类型。  引用数据类型:对象,数组,接口。  基本数据类型:byte(1B),short(2B),char(2B),int(4B),long(8B),float(4B),double(8B)。  可以想到,占用字节数越多的类型的数据精度越高。在java里,精度低的数据向精度高的数据类型转换系统可以自动完成。但是精度高的数据类型向精度低的数据类型转换是...

2018-03-21 19:18:48 486

原创 java中String类eqauls()和==的区别

  在java中“==”和equals()方法的作用都是对地址的比较。equals()是在Object这个超类中定义的。public boolean equals(Object obj) { return (this == obj); }但是由于String、Math等封装类都对equals()方法进行了重写,有些情况下两者的功能是不相同的。下面是String的equals()方法...

2018-03-13 22:03:12 1543

原创 String类对象两种创建方法的区别

  java将内存分为四种:堆、栈、方法体、程序计数器。一般基本数据类型存放在栈中,对象类型存放在堆中。创建String字符串的方法两种。无论哪种方法创建的字符串都是不可以改变的。先来看方法一:String a="hello";这种方法创建字符串后会有一个字符串池来保存内容,而栈空间存的是这个字符串的地址。这种方法创建的字符串在作为函数参数时是值传递。第二种方法:String b=new Stri...

2018-03-12 22:14:30 5037 3

原创 java中的值传递和引用传递的个人理解

  在讨论传递方式之前,先好好想想变量是什么。变量,就是可以变的量,她占据一定的内存空间,变量名就是这块空间的名字 下面看个值传递的例子:public class Test(){public void test1(int a){a=10;System.out.println("test1的a"+a);} public static void main(){ int a=0; t...

2018-03-10 17:57:08 186

基于ssm框架的简单新闻网站

简单的新闻呢网站,用ssm框架开发。用户可以浏览新闻,管理员可以发布新闻、删除新闻、更改新闻等功能。管理员账号:sqroot密码:dyr2015 博客:https://blog.csdn.net/xlantian/article/details/81395580

2018-08-04

java实现提取图片文字信息并生成表格

对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115

2018-06-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除