自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱你の大表哥的博客

记录自己的学习心得和经验

  • 博客(67)
  • 收藏
  • 关注

原创 C语言中的指针与常量、数组及函数的关系

指针与常量指针常量int * const p; //一个常量指针变量不允许修改,即指向的地址不能被修改,但是地址里的内容可以被修改。常量指针const int *p = &a; //一个指针指针指向的变量的值不可通过该指针修改,但是指针指向的值可以改变。指向常量的指针常量const int * const b = &a;既不能更改它所指向的地址,也不能修改指向地址上的值。 指针与数组指针数组int *p[2]; //一个数组,每个元素都是int类型的指

2020-09-03 21:17:50 454

原创 HashMap源码的简单分析

本文所有源码来自 JDK 1.8.0_181HashMap简介Map是Key-Value对映射的抽象接口,Map用于保存具有映射关系的数据。Map集合里有两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。key不允许重复,key和value之间存在单向一对一关系,通过key能找到相应的value。Has...

2018-08-24 15:25:44 1006

原创 模拟登陆新版正方教务管理系统

引入与很多高校一样,西安皇家邮电大学一直钟爱于正方教务管理系统。前一段时间爬了学校的旧版的教务系统,旧版主页 想了解更多请点击这里:爬取学校教务系统获取学生信息不知道学校是不是把装空调的拿去买新教务系统了,新教务系统主页 可以看出,学校用的仍然是正方教务系统,不过版本升级了,新教务系统是用Java写的后台,前端用了Bootstrap框架。与旧系统相比,界面美观大方,易用性也...

2018-08-20 10:00:19 26970 37

原创 Java多种方式解决生产者消费者问题(十分详细)

生产者消费者问题一、问题描述生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例。生产者生成一定量的数据放到缓冲区中,然后重复此过程;与此同时,消费者也在缓冲区消耗这些数据。生产者和消费者之间必须保持同步,要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区空时消耗...

2018-08-16 08:40:50 64071 38

原创 Java 线程的6种状态(简单介绍)

关于Java线程的状态网上的说法不一,有的说是6种状态,有的说是5中状态,索性就查看了一下Java源码。Thread类里面有一个枚举类,如下:public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED;}这个枚举类里面有6种类型,所以Java中...

2018-08-15 08:19:50 5651

原创 JVM各种垃圾收集器的简介

本以为JVM中有一个强大的垃圾收集器,能够实时监控资源并即时清除已经死掉的对象。事实上直到现在为止还没有万能的收集器,我们选择的只是对具体应用最合适的收集器,下面就简单说说集中收集器吧。Serial 收集器最基本、发展历史最悠久的收集器,在JDK 1.3.1之前是虚拟机新生代收集的唯一选择。它是一个单线程收集器,在它就行垃圾收集工作时,必须暂停其他所有的线程,直到它收集结束。具有简单高...

2018-08-14 08:51:34 273

原创 JVM中的垃圾对象以及相关清除算法

一、 对象已死嘛引用计数法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被利用的。引用计数法的实现简单,判定效率也高,但是它很难解决对象间相互循环引用的问题。比如对象A和B都有字段instance,赋值令A.instance = B且B.instance = A,除此之外,这两个对象再无任何引...

2018-08-10 15:04:26 574

原创 JVM内存区域以及内存分配策略

一、运行时的数据区域程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,彼此间计数器互不影响,独立存储,即是“线程私有”的内存。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、跳转、循坏、异常处理、线程恢复等...

2018-08-08 08:20:41 251

原创 Java多线程之对象及变量的并发访问

synchronized 同步方法方法内的变量为线程安全,实例变量非线程安全。调用关键字synchronized声明的方法一定是排队运行的,如果不是共享资源,那么根本就没有同步的需要。关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法(函数)当做锁。对于多线程访问同一对象,哪个对象先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,...

2018-08-06 19:22:51 2728

原创 Tesseract-OCR 的安装与使用

上篇博文写到爬取教务系统获取信息时,登录时的验证码是手动输入的,所以就想试试能不能自别识别验证码并填充。查阅了很多信息,选取了Tesseract。What is Tesseract ?Tesseract是能够运行在多种操作系统上的开源ORC(Optical Character Recognition , 光学字符识别)引擎,目前由Google维护,是最精确的开源ORC引擎之一。与Mic...

2018-07-28 16:17:30 1809 1

原创 图片的灰度化与二值化

为了提高Tesseract识别的准确性,需要对图片进行一些处理。灰度化RGB颜色模型一种加色模型,将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以产生多种多样的色光,且三原色的红绿蓝不可能用其他单色光合成。RGB色彩模式使用RGB模型为图像中每个像素的RGB分量分配一个0~255范围内的强度值。RGB图像仅仅使用三种颜色,R(red)、G(gre...

2018-07-28 16:16:48 10178

原创 爬取正方教务管理系统获取学生信息

最近想学点爬虫玩玩,拿学校的教务系统练练手。学校与很多高校一样,用的是正方教务管理系统,非常的不好用,经常登陆不上去、卡死,主页如下图所示:模拟登录分析登录的URL和所需提供的数据我们输入学号、密码和验证码登录后,点击登录。这时浏览器会向服务器提交一个POST请求我们由上图中的数据可知,请求的URL地址为:http://222.24.62.120/default2.as...

2018-07-27 14:05:34 16168 24

原创 在Java中使用多线程并探究线程的启动方法

使用多线程单线程同步,CPU利用率低;而线程异步,运行效率高。实现 Runnable 接口class PrimeRun implements Runnable { long minPrime; PrimeRun(long minPrime) { this.minPrime = minPrime; }...

2018-07-26 10:55:43 459

原创 正则表达式小记

正则表示式简介正则表示式基本上包括两种字符:字面意义字符与元字符。字面意义字符是指按照字面意义比较的字符;元字符是不按照字面比较,在不同情境有不同意义的字符。1. 字面意义字符 字符 说明 字母或数字 比较字母或数字 \\ 比较\ \0n 八进制0n字符(0<=n<=7) \0nn 八进制0nn字符(0&...

2018-07-24 11:30:26 207

原创 超文本标记语言 -- HTML

期末考试即将到来,赶在人机界面考试之前,先把 HTML 复习一下。HTML 概述HTML的基本概念1. HTML 介绍HTML是Hyper Text Markup Language(超文本标记语言)的缩写,是构成Web页面的基本元素,是一种规范,一种标准。HTML不是一种编程语言,而是一种描述性的标记语言,通过标识符来标识网页中内容的显示方式,例如图片的显示尺寸、文字的...

2018-06-28 17:42:47 18844

原创 初识 Docker

Docker 是什么Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。它属于 Linux 容器的一种封装,提供简单易用的容器使用接口。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。虚拟机 与...

2018-06-24 21:23:44 417

原创 海客票务管理系统 ------ 项目总结

1. 项目概述1.1 项目背景大唐传媒有限公司成立于2011年。大唐传媒集电影、电视剧的开发、投资、制作、宣传、营销、发行等多方位影视功能为一体,并致力于海外影视业务的发展。大唐传媒自成立以来,就秉承打造精品项目的理念,为观众呈上了众多优质的影视作品。大唐传媒旗下拥有多家连锁剧院,随着公司的发展,为了提高劳动效率、节约成本、提高服务质量,公司决定开发一套剧院票务管理系统。用以方便影...

2018-06-18 23:41:09 5270 7

原创 使用Github进行协作开发

一、最基本的方式首先负责人先创建一个仓库,然后在setting里的Collaborators中添加你的队友们。 输入队友们的github用户名,然后匹配到他们,点击添加,然后等待他们接受邀请。这样他们就有进入你的仓库的权限了,在本地将仓库克隆一下,就可以一起愉快的写代码了。但是,这样比较麻烦,万一队友不小心把仓库东西都给你删了,岂不是很无奈。二、使用fork为了让彼此互不...

2018-05-30 23:12:18 2164 3

原创 MySQL存储过程初探

什么是存储过程存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中的一个重要对象。(百度百科)简单来说,存储过程就是为以后的使用而保存的一条或多条MySQL语句的集合。存储过程优缺点优点:简化复杂操作和对...

2018-05-23 23:23:36 221

原创 基于Spring MVC的Web应用的正确创建姿势

前一段时间,创建Spring MVC可能遇到了一些创建失败以及不规范的情况,今天就来系统的总结一下正确的创建姿势。在IntelliJ IDEA中点击new project,然后选择Spring–>Spring MVC,点击next 出现下载的页面表示顺利进行,等待完毕即可,否则删除重新创建 配置Tomcat,并设置热部署 增加添加其他框架,选择Maven框架,并在Mav...

2018-05-21 11:59:47 665

原创 在阿里云上安装MySQL并配置远程连接

最近课程设计要求部署一个MySQL数据库来存储数据,要求多台电脑都能连接到该数据库,于是决定把它部署在我的阿里云上。MySQL的安装我的阿里云服务器目前安装的Ubuntu 16.04,利用MySQL APT Repository来安装不是很复杂。首先要下载该 .deb 包Download MySQL APT Repository我下载到的是 mysql-apt-config_0.8...

2018-05-16 22:09:26 1569 1

原创 Spring MVC处理表单的实例分析

Web 应用的功能通常不局限于给用户推送内容,大多数应用允许用户填充表单并将数据提交回应用中,通过这种方式与用户进行交互。使用表单分为展现表及和处理用户通过表单提交的数据。关于注册的一个小例子控制器:SpitterController.java用来处理展示表单、处理用户提交的数据并且展示用户注册信息功能。package XiyouLinux.controller;imp...

2018-05-14 21:39:50 731

原创 Spring MVC访问静态资源的几种方法

如果DispatcherServlet拦截“/”,即拦截了所有的请求,对*.js,*.jpg等静态资源的访问也就被拦截了。但如果DispatcherServlet只拦截*.do这样的URL,就不存在访问不到静态资源的问题。通过下面几种方式可以正常访问静态文件,不要找不到静态文件报404。方法一:利用Tomcat的defaultServlet来处理静态文件在web.xml里添加如下配置...

2018-05-04 17:18:12 806 2

原创 初识Spring MVC并使用Maven搭建SpringMVC

Spring MVC基于MVC模式(模型(Model)-视图(View)-控制器(Controller))实现,能够帮助你构建像Spring框架那样灵活和松耦合的Web应用程序。核心类与接口DispatcherServlet 前置控制器HandlerMapping 处理器映射Controller 控制器ViewResolver 视图解析器View 视图处理Sprin...

2018-04-27 23:12:09 236

原创 在MySQL中启用自动补全

2018年5月1日更新:多谢楼下小伙伴的提醒,MyCLI确实更强大。MyCLI 简介MyCLI 是一个易于使用的命令行客户端,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全连接...

2018-04-25 13:21:41 9900 3

原创 三种简单的设计模式(策略、观察者、单件)

策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。OO(Object Oriented)面向对象基础:抽象、封装、多态、继承原则:找出应用中可能需要变化之处,把它们独立出来。针对接口编程,而不是针对实现编程。多用组合,少用继承。观察者模式定义了对象间的一对多依赖,这样一来,当一个对象改变时,它的所有依赖者都会...

2018-04-18 23:21:50 244

原创 MySQL中check约束无效的处理方式

问题引入我们知道在SQL中,可以用check来来约束字段的范围。 下面这些SQL语句在MySQL下运行(系统环境为deepin 15.5 64位):mysql> CREATE TABLE `Student` ( -> `Sno` char(8) NOT NULL, -> `Sname` varchar(10) NOT NULL, -&gt...

2018-04-12 23:12:35 13380 4

原创 Spring实战--高级装配

一、环境与profile开发环境和QA环境,很多时候需要不同的配置。即在不同的环境中某个bean会有所不同,我们必须用某种方法来配置这个bean,使其在每种环境下都会选择最为合适的配置。其中一种方式是在单独的配置类(或者XML文件)中配置每个bean,然后在构建阶段(可能用到Maven的profiles)确定将哪个配置编译到可部署的应用中。配置profile bean利用Spring配...

2018-04-12 21:40:33 475

原创 Spring基础知识

Spring之旅Spring是一个开源框架,最早由Rod Johnson创建。是为了解决企业级开发的复杂性而创建的,但不仅仅局限与服务器端的开发,任何Java应用都能在简单性、可测试性和松耦合性方面从Spring获益。为了降低Java开发的复杂性,Spring采用以下4种关键策略:基于POJO的轻量级和最小侵入性编程;通过依赖注入和面向接口实现松耦合;基于切面和惯例进行声明式编程...

2018-04-08 20:09:01 225

原创 HDU-2689 Sort it(Java实现)

你想通过交换两个相邻的序列元素来处理一系列n个不同的整数,直到序列按升序排列。然后它需要多少次。 例如,1 2 3 5 4,我们只需要一个操作:交换5和4。

2018-04-08 20:06:15 168

原创 Tomcat修改端口的方法及碰到的问题

前几天把项目部署到阿里云上,能够让其他用户访问自己写的小东西。但是一般访问的格式是服务器ip:8080/项目名这样显然有些麻烦,可以通过修改Tomcat的默认端口来解决。

2018-03-22 23:22:40 688

原创 在Linux的IEDA下用Maven建立简单的Web程序

Maven是什么?Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。...

2018-03-06 17:46:48 500

原创 详解Java中的泛型

泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

2017-11-30 21:14:17 245

原创 图的遍历在入队(栈)前访问元素的原因

一个思考题在利用DFS和BFS遍历图时,有没有考虑过能不能在出队(栈)时访问元素呢?访问在前有什么好处呢?BFS依靠队列来实现,以BFS来简单说一下

2017-11-26 23:48:57 708 1

原创 哈夫曼树的实现及其实例分析

定义给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。

2017-11-20 22:56:54 23515 4

原创 线索二叉树中查找前驱和后继的问题

线索二叉树结点结构定义如下:若结点有左子树,则LChild域仍指向其左孩子; 否则,LChild域指向其某种遍历序列中的直接前驱结点。若结点有右子树,则RChild域仍指向其右孩子; 否则,RChild域指向其某种遍历序列中的直接后继结点。

2017-11-12 23:52:20 21665 13

原创 Fedora 25下IDEA运行JavaFX出现Gtk-WARNING的解决办法

运行时出现了Gtk-WARNING的警告,虽然不影响运行,但是看着不是很爽。具体的警告为: Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”

2017-11-09 22:22:42 780

原创 Java中文本I/O的简单操作

Java中的File类和文本的输入输出操作!

2017-11-07 22:20:58 850

原创 Java中的异常处理

异常是一种对象,表示阻止正常进行程序执行的错误或者情况,包括数组下标越界、除数为零、网络连接失败、非法参数、空指针异常、文件找不到等。

2017-11-05 21:26:31 969

原创 用栈和队列实现魔王语言

问题描述:魔王总是使用自己的一种非常精炼而抽象的语言讲话,没有人能听懂,但他的语言是可以逐步解释成人能听懂的语言的,因为它的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1) α→β1β2 ••• βn (2)(θδ1δ2 •••δn)→θδnθδn-1 ••• θδ1θ 在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,把它的话解释成人能听懂的话。

2017-10-22 20:49:39 747 1

空空如也

空空如也

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

TA关注的人

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