自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 java多线程学习 ReentrantLock类的使用
原力计划

ReentrantLock类为了保证任何时刻只有一个线程能进入临界区,通常需要给临界区上锁,只有获得锁的线程才能进入临界区。为了达到上锁的目的,我们通常使用synchronized关键字。在Java SE 5.0之后,java引入了一个ReentrantLock类,也可以实现给代码块上锁和释放锁的效果。lock方法 和unlock方法lock() 申请获得锁如果获得锁,该线程可以继续往下执行如果该锁已被其他线程获取,当前线程停止运行并进入阻塞状态,等待其他线程释放锁unlock() 释

2020-05-25 07:31:30 62

原创 java多线程学习 volatile关键字的使用
原力计划

volatile关键字是java虚拟机提供的最轻量级的同步机制,用来修饰变量,可以保证变量线程间的可见性且禁止指令重排序。为了更好的理解volatile关键字,先来说下java内存模型java内存模型在Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽各个硬件平台和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。那么Java内存模型规定了哪些东西呢,它定义了程序中变量的访问规则,往大一点说是定义了程序执行的次序。注

2020-05-18 19:08:41 82

原创 java多线程学习 synchronized 关键字的使用
原力计划

synchronized是java 提供的一个并发控制的关键字,作用于对象上.每个java对象都有一个内部对象锁,通过synchronized可以向指定对象请求获取对象锁,该锁是互斥锁,一个时刻只能有一个线程能获得这把锁,其他请求获得这把锁的线程都进入阻塞状态synchronized提供的锁是可重入的锁可重入锁实现原理:每个锁关联一个请求计数器和一个占有它的线程。当计数为0时,认为锁是未被占有的;线程请求一个未被占有的锁时,JVM将记录锁的占有者,并且将请求计数器置为1 。如果同一个线程再次.

2020-05-17 03:23:06 92

原创 Java lambda表达式语法及简单示例
原力计划

参考教材:《Java 核心技术 卷一》前言在JAVA SE 8 之前,在java中传递一个代码块并不容易,不能直接传递代码块,因为java是一种面向对象的语言,所以想传递代码块需要把所需传递的代码写在类的方法里,然后通过传递类的实例(即对象)才能达到传递代码块的目的。为了解决这一问题,JAVA SE 8 加入lambda表达式这一新特性,可以用一种简洁的语法来定义代码块,并把这个代码块传递给...

2020-03-21 04:07:28 120

原创 IDEA 利用Spring Boot搭建简单的Spring MVC框架

前言陆续自学了spring和spring boot。也用spring搭建过ssm框架,做了个小项目,从0搭建ssm项目框架的时候,真的很繁琐,当时花了好久才把ssm框架搭建起来。这学期学了spring boot框架,发现spring boot开发项目的时候,真的很容易就把环境搭起来了。这学期就整合 Spring boot +Mysql+ Redis + Shiro+ Spring-data-jp...

2019-12-07 00:15:14 232

原创 云服务器(Centos7系统)部署javaweb项目(二)配置JAVA+mysql+tomcat 环境

前言上一篇博客已经按照和配置了 xshell和Xftp,并连上了服务器。现在继续来配置云服务的环境配置java环境这里我选择了java1.8的版本,首先查看yum源的java1.8的包yum list java-1.8*这里我们选择x86_64版本进行安装yum -y install java-1.8.0-openjdk.x86_64这时候云服务器会自动安装并配置java环境。...

2019-10-30 19:27:32 111

原创 云服务器(Centos7系统)部署javaweb项目(一)Xshell和Xftp的安装和配置

Xshell和Xftp的下载和安装:连接服务器我们选择Xshell,用Xftp进行本地和服务器之间的文件传输。这里我提供了Xshell6和Xftp6的学校版的下载,软件官方提示:这是供个人免费使用的,勿直接或间接用作商业用途。链接:https://pan.baidu.com/s/1CQKWYzVDPwnWYtMAEbhCdQ提取码:wble下载好后就可以直接双击程序进行安装了,过程我就不...

2019-10-30 19:26:47 134

原创 个人学习总结:SpringMVC注解常用注解总结

文章目录bean的自动创建和自动装配通过Java代码新建bean消除自动装配的歧义SpringMVC配置控制层bean的自动创建和自动装配@Component: 标注一个类,spring会自动用默认无参的构造方法自动创建一个bean,该bean的id默认为类名首字母小写,也可以用@Component(“xxx”)将bean的id设置成xxx@ComponentScan:标注一个类(一般该类都...

2019-09-21 01:14:15 133

原创 Junit框架学习笔记-- 关于Junit的基本用法

参考教程: junit教程目录概述环境搭建基本用法时间测试 timeout注解的使用参数化测试概述Junit 是一个常用的Java单元测试框架,所谓的单元测试是对某一个单一实体的测试(比如某个具体的类或者类里的方法),Junit提供了注释来识别测试方法,提供了断言来测试预期结果,提供了测试运行来运行测试。环境搭建用Intellij IDEA建立一个maven quickstart项目,方...

2019-07-09 20:14:11 153

原创 java学习笔记 断言assert的使用

前言在学习Junit测试框架的时候,涉及到了断言这个概念,以前看java的时候,没仔细看这个概念,现在记录一下断言的概念断言实际上是一种测试机制,它可以规定某个参数或者属性必须要满足某个条件,否则会抛出一个异常,并且程序会中止。断言的一些特点断言只用于开发测试阶段确定程序的内部错误断言默认是禁用的,需要手动开启。禁用断言的情况下,类加载器会跳过断言代码断言检测失败的时候,会抛出As...

2019-07-04 12:10:04 2919

原创 JavaScript 动态添加与获取obeject对象的属性

前言在写微信小程序的时候,笔者遇到个问题,需要往一个object对象里添加一个新的属性,但是这个属性是个变量,按照Object.attribute = value 的老方法是不行的,那就需要新的方式来解决这个问题解决办法上网查了一下资料,发现有两种方法可以解决往一个object对象里添加一个新的属性的问题.方法一:var temp = {};//新建一个空的对象var key = "t...

2019-05-14 10:17:50 461

原创 java 基础入门(三)

前言第一篇博客讲了Java的一些基础语法,第二篇博客讲了Java面向对象的一些特性,比如类和对象, 还有java 三大特性 封装,继承 ,多态 ,然后还讲到了抽象类的概念, 这篇博客将继续学习java的其他的重要特性。接口(interface)首先强调,接口不是一个类,接口主要是用来描述类有什么功能的,但不用给出 每个功能的具体实现。 从功能上来说,接口和抽象类是非常类似的。但是从实现上,接...

2019-05-03 16:01:39 3208 2

原创 warning: LF will be replaced by CRLF in ** 的原因及解决办法

今天在使用git add 命令的时候,弹出了一个警告 warning: LF will be replaced by CRLF in ******(具体的一个文件)原因LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换...

2019-03-18 22:04:21 6556 3

原创 【笔记】Ubuntu 18.04编译安装4.20.14版内核

为了避免编译内核的时候,系统发生不可控的错误,笔者选择把linux系统装在了虚拟机上。下面是具体的系统配置系统配置运行环境:Oracle VM VirtualBox 虚拟机系统版本:Ubuntu 18.04 LTS版运行内容:4GB(建议2GB以上)磁盘大小:40GB (磁盘太小会导致编译失败)处理器核心:4个 @2.30GHz x64 (四个核心能加快编译的速度)显存大小:12MB...

2019-03-08 20:04:05 688

原创 制作ubuntu系统的 usb启动盘

前言由于课程的要求,要尝试完成 编译安装Linux系统的内核,但是在编译内核的过程中,Ubuntu的grub引导好像出了一些问题,不能进入系统了。所以就要制作一个usb启动盘,看能不能修复一下系统。工具一个至少8G大小的U盘 (注意:U盘会被重新格式化,请提前保存重要资料)下载一个Ubuntu iso镜像 (https://www.ubuntu.com/download/desktop)...

2019-03-07 17:51:01 2267 1

原创 微信小程序开发笔记(四)数据绑定

参考教材:《微信小程序开发入门与实践》 雷磊前置知识:JavaScript,CSS前言到目前为止,我们把数据都写在了wxml文件里,这是非常不好的编码方式。在真实的项目里,通常是把业务数据放在服务器,然后小程序通过http请求访问服务器提供的api,从而获取数据。我们先新建一个post界面,并作为首页...

2019-01-31 18:15:01 614

原创 微信小程序开发笔记(三)flex布局和自适应单位rpx

参考教材:《微信小程序开发入门与实践》 雷磊前置知识:JavaScript,CSS什么是flex布局在上一篇博客里,笔者在hello.wxss 里使用了display: flex; 。什么是flex呢?flex布局是W3c组织在2009年提出的一个新的布局方案,其宗旨是让页面的布局样式更加简单,并且可以很好地支持响应式布局。这并不是小程序所独有的技术,它本身是CSS语法的一部分。只不过早...

2019-01-28 19:36:30 1579

原创 微信小程序开发笔记(二)第一个微信小程序

参考教材:《微信小程序开发入门与实践》 雷磊前置知识:JavaScript,CSS新建项目安装好微信开发者工具后,我们就可以开始新建我们第一个微信小程序了。选择新建项目,填入一个项目名称以及目录(即在磁盘上存放的路径),AppID这里如果没有申请,点击测试号系统会提供一个给你一个AppID,主要用于方便开发者学习和调试。在这里,我选择的是系统提供的默认AppID,确认无误后,点击右下角...

2019-01-26 18:43:32 1431 2

原创 微信小程序开发笔记(一)微信web开发者工具的下载与安装、AppID的申请

参考教材:《微信小程序开发入门与实践》 雷磊前言微信提供了小程序的官方开发工具—微信开发者工具,当然,这个微信开发工具 还可以用来调试运行在微信上的网页以及微信JS-SDK。微信开发者工具官方下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html注意,Windows版本的仅支持window7版...

2019-01-19 17:08:03 18832

原创 【数据结构】图的最小生成树 克鲁斯卡尔(Kruskal)算法

说明利用克鲁斯卡尔算法打印出各连通分类的边集要是连通图才能生成最小生成树运行截图代码实现import java.util.*;public class MinSpanTreeTest { public static void main(String[] args) { MinSpanTree minSpanTree = new MinSpanTre...

2018-12-15 03:42:47 1366

原创 【数据结构】无向图的遍历(广度搜索和深度搜索)

说明以邻接表作为存储结构以用户指定的结点分别进行广度搜索和深度搜索相应的生成树的边集运行截图源代码public class AdjacencyList { public static void main(String[] args) { CreateGraph createGraph=new CreateGraph(); createGr...

2018-12-15 03:37:20 1222

原创 【数据结构】判别以邻接表方式存储的有向图是否存在顶点Vi到Vj的路径

说明分别采用了深度优先算法和广度优先算法实现运行截图代码实现:import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;/** * Created by IntelliJ IDEA * * @author manzuo * @date 2018/12/14 23:52 * 以邻...

2018-12-15 03:31:24 3793

原创 Ubuntu 安装和配置MySQL

笔者的Ubuntu系统是运行在安装在虚拟机上运行的,先贴一下系统配置系统配置运行环境:Oracle VM VirtualBox 虚拟机系统版本:Ubuntu 18.04 LTS版运行内容:2GB磁盘大小:25GB处理器核心:1个 @2.30GHz x64显存大小:12MB安装方法:命令行窗口镜像切换为了提高软件的下载速度,先把下载的镜像切换到阿里云。打开软件和更新然后在...

2018-12-02 11:12:31 1128

原创 【数据结构】哈夫曼树编码/译码器

前言参考博客:https://www.cnblogs.com/kangjianwei101/p/5242934.html原博客是用C语言实现的,笔者改用java实现,原因主要有以下几点:避免使用复杂的指针,减小错误发生的可能性对字符串和数组的处理都自带了很多方法,不用在自己实现java的char类型用来存储Unicode类型的,字节长为2,而Unicode编码是包含中文的,所以可以直接...

2018-11-28 23:03:33 1498

原创 【数据结构】简单LISP算术表达式计算器

(数据结构C语言版习题集实习4.4)问题描述设计一个简单的LISP算术表达式计算器简单的LISP算法表达式(以下简称表达式)定义如下:(1)一个0…9的这个整数;或者(2)(运算符 表达式 表达式)例如 6 , (+45) , (+2(+58)) , (+(+25)+8 , (+(+(+12)(+34))(+(+56)(+78)))都是LISP表表达式实现思路1.仿照“利用栈实现...

2018-11-21 23:13:01 1479 2

原创 【数据结构】稀疏矩阵运算器(加、减、乘)

问题描述稀疏矩阵是指那些多数元素为零的矩阵,利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器基本要求以“带行逻辑连接信息”的三元组顺序表表示系数矩阵,实现两个矩阵相加、相减和想乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵以通常阵列形式列出运行截图数据输入输出结果代码实现import java.util.Ar...

2018-11-21 18:53:20 2560

原创 【SQL学习】select语句使用实例

前言在使用数据库的过程中,我们最常用到还是查询语句,即 select * from tablename, 这篇博客就通过具体的实例说明一下select语句的用法。创建数据库及数据表为了统一下面的查询语句,我这里给出语句,只需要复制然后在你的数据库中执行,就可以创建和笔者一样的数据库环境create database mydb;//创建数据库use mydb; //进入数据库学生表. ...

2018-11-16 16:31:17 3022

转载 80端口被System占用的问题解决

80端口一般被当做网页服务器的默认端口,使用本机搭建服务器环境的时候,都会默认使用80端口来作为网页访问端,但是有的时候80端口会被其他的不明身份的程序占用,导致 Apache 启动失败,修改 Apache 的默认端口后访问本机地址又非常麻烦。下面介绍一下如果80端口被占用后应该如何处理。修改 Apache 的默认端口(强迫症不要用)修改 Apache 端口的方法是最妥协的方法了,后果...

2018-11-13 22:44:04 133

原创 eclipse配置JavaScript 语法智能提示、补全

前言最近用eclipse写js的时候,发现eclipse对js语法并不能做到智能提示,于是想效仿设置java语法只能提示的方法,同样的设置js。但是并没有成功,于是想到了下载插件的方法。插件的下载和安装help->Eclipse Marketplace搜索 AngularJS Eclipse ,点击 install然后,桌面图标会显示进度条(绿色代表进度),等进度条满...

2018-11-07 14:49:20 8359 4

原创 【数据结构】一元稀疏多项式计算器

基本功能一元多项式的加减一元多项式的乘法一元多项式的导数一元多项式的输出为类数学表达式运行截图:源代码:#include<stdio.h>#include<stdlib.h>typedef struct{ float coef;//系数 int expn;//指数} Term;typedef struct ploynomial...

2018-11-04 14:54:25 4465 9

原创 phptudy配置虚拟域名的详细步骤

前言我们都知道,我们写HTML的时候,可以直接通过浏览器打开。如果没有部署到服务器而直接打开的话,浏览器的地址栏上显示的是 以 file://开头的html的磁盘文件路径,而不是像我们平时浏览网页的时候以 http:// 开头的。如果我们设计的html文件如果需要以网页的形式部署到服务器上,到时候就需要以http协议访问,所以我们在开发的时候,就需要尽可能的模仿线上的环境,架设本地的服务器,...

2018-10-24 11:58:09 598

原创 Excel 作图时X轴坐标不均分的问题

前言今天用Excel表格处理大物实验数据时,需要根据数据画出相应的图表。然后就遇到一个问题,作图的时候X轴的坐标不会根据数据大小自动设置间隔。解决办法:尝试了很多办法,最后发现了一个简单的方法:改变 图表的类型我原来使用使用的是折线图,只要把折线图该为折线图就可以。步骤如下:右键点击图表空白处,选择 更改图表类型选择 散点图点击确定然后点击+号勾选趋势线就可以了...

2018-10-21 16:38:22 8258

原创 【数据结构】二叉树的链式存储结构(通过前序序列和中序序列构造二叉树)

说明:需要分别输入要二叉树的前序序列和中序序列才能构建二叉树。如果构建失败,程序会报错。比如我们给定一个二叉树,容易知道前序序列为:GDAFEMHZ中序序列为:ADEFGHMZ程序运行结果:源代码#include<stdio.h>#include<stdlib.h>#include<string>#include<math.h>...

2018-10-17 19:27:23 5902

原创 js实现图片上传时本地预览(支持同时上传多张图片)

最近学前端的时候,有个搭建网站的学习任务。其中就有一个功能要实现:可以从本地上传图片到网页,并在本地实现预览。查了很多资料,最后终于找到一种比较简单的实现方法。...

2018-10-17 18:38:22 7845 1

原创 SDK location should not contain whitespace, as this can cause problems with the NDK tools.

今天在安装 Android Studio 的时候,在安装到SDK的时候突然报了这个警告,SDK location should not contain whitespace, as this can cause problems with the NDK tools.说 SDK的安装路径不能包含空格,我看了好久,才发现C盘下的Program Files 是自带空格的,所以报了错,所以只需要重...

2018-10-13 12:59:28 1438

原创 js表单验证

<html> <head> <meta charset="UTF-8"> <title>js表单验证</title> </head> &lt

2018-10-09 22:20:34 375

转载 谷歌浏览器 远程计算机或设备将不接受连接

前言不知道为什么,每隔一段时间,我的谷歌浏览器就不能正常上网,而其他,比如火狐浏览器和qq之类的却可以正常使用。使用谷歌浏览器自带的windows检测后, window给出的提示如下:解决办法原博客地址:https://blog.csdn.net/ymwang7/article/details/72912452好几次我都是根据上面的博客教程解决的,这次就记录下来,为了日后好寻找。w...

2018-10-05 17:52:26 27462 13

原创 【数据结构】串的堆分配实现

#include<stdio.h>#include<stdlib.h>#define TURE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef struct{ char* ch;...

2018-10-02 15:48:32 413 1

原创 【数据结构】利用栈实现表达式求值

前言java实现,利用int类型存储操作数,完善了char类型范围太小的问题,利用递归,完善了括号嵌套使用的问题。运行结果截图代码实现:import java.util.Arrays;import java.util.Scanner;public class StackTest{ //测试 public static void main(String[] args) ...

2018-09-26 00:23:56 1880

原创 【数据结构】链式队列的实现

#include<stdio.h>#include<stdlib.h>#include<string.h>#define TURE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;type...

2018-09-23 22:50:25 119

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