自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 资源 (1)
  • 收藏
  • 关注

原创 OSS-文件存储

【背景】 存储系统中的图片、音频、视频,且视频的体积较大,可达2GB.【比较】 之前存储系统用的是FastDFS,主要是存储一些word文档、图片等小文件;现在用的是阿里云的OSS(OSS的官方文档)。【简介】FastDFS: FastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载), 适用于海量小文件(建议范围:4KB < file_size <50...

2020-07-31 13:38:58 1675

原创 Java-统计字符串中英文单词总数

根据输入的字符串统计其中的英文单词数量public int countWords(String str) { String abb = "She had been shopping," + " this, " + "你好呀. " + "urry to,"; Pattern expression = Pattern.compile("[a-zA-Z]+");//...

2020-06-28 16:27:39 5090 3

原创 Java导入Excel模版时出现org.apache.poi.poifs.filesystem.OfficeXmlFileException异常

出现错误导入Excel2007的文件就会报如下异常:该错误意思是说,文件中的数据是用Office2007+XML保存的,而现在却调用OLE2 Office文档处理,应该使用POI不同的部分来处理这些数据,比如使用XSSF来代替HSSF。

2020-06-05 17:40:25 1151

原创 Java-在指定的日期上添加指定天数

Java-在指定的日期上添加指定天数算是工具代码库的积累/*** 在指定的日期上添加指定days天数,然后返回** @param date 指定的日期* @param days 需要添加的天数,可以为负数* @return 在指定的日期上添加指定days天数,然后返回*/public static Date timeAddByDays(Date date, int days) { return timeAdd(date, days, TimeUnit.DAY...

2020-06-03 14:35:57 1760

原创 Java爬虫-爬取页面源码并下载页面的指定格式文件

一、客户需求获取页面音频资料和字幕文件,格式分别为MP3和lrc.页面地址为:https://www.51voa.com/VOA_Special_English/researchers-call-for-a-use-tax-to-clean-up-space-84650.html二、分析页面源码页面的部分源码如下:分析结果: href=”xxx.mp3”和href=”xxx.lrc”这两个是我们可以用到的数据,是对应格式文件的下载...

2020-06-02 15:03:30 1405 1

原创 简说ps -ef和pa aux命令

简介Linux中ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。对比实例ps -ef | grep *** 列名 含义 UID ...

2020-04-26 14:55:05 2193 1

原创 MySQL-GROUP_CONCAT函数,将多行查询结果用特定字符串连接起来,适用于一对多

一、concat()函数功能:将多个字符串连接成一个字符串。语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。准备:我们新建一个my_test表,并插入测试数据:SELECT * FROM `tbl_test`;例1:基本使用select concat (id, userna...

2020-03-30 15:42:45 1676

原创 跨域 No 'Access-Control-Allow-Origin' header is present on the requested resource.

什么是跨域访问在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的。跨域访问违反了同源策略,同源策略规定,浏览器的ajax只能访问跟它的HTML页面同源(相同域名或IP)的资源。跨域 ...

2020-01-13 15:49:04 181430 19

转载 java实现Excel的导入导出

一.Excel读写技术区别:二.jxl读写基础代码1.从数据库将数据导出到excel表格public class JxlExcel {public static void main(String[] args) { //创建Excel文件 String[] title= {"姓名","课程名","分数"}; File file=new File("f:/...

2020-01-08 15:47:54 295

转载 Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

Git fetch和git pull的区别:都可以从远程获取最新版本到本地1.Git fetch:只是从远程获取最新版本到本地,不会merge(合并)$:git fetch origin master //从远程的origin的master主分支上获取最新版本到origin/master分支上$:git log -p master..origin/master //比较本地的m...

2019-10-26 18:34:46 183

原创 MyBaits开启自动驼峰命名规则映射

说明在数据库字段命名规范中,通常使用下划线“_”来连接两个单词,比如:user_type。但是在Java开发中,实体字段通常采用驼峰命名法,因此会在mapper文件的SQL语句中使用 "AS"设置别名来匹配实体。select user_type as userType from t_userMybatis 在 settings 配置项中有一个 mapUnderscor...

2019-10-11 22:48:25 795

原创 linux服务器实时同步

rsync是类unix系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。文章主讲实际操作,不再进行详细叙述,想要了解更多可以查看百度百科。一、提前说明: 1)以在两台服务器之间建立定时同步为例,将服务器A /home/jack 路径下的内容备份到服务器B /home/test ...

2019-10-11 22:42:02 1034 1

原创 线上问题-更新答题记录死锁

场景学生实时更新答案,大批量的更新答案记录,导致更新答题记录锁表。锁表的原因是出现表锁,而不是行锁。错误展示错误实例当我们做任何操作mysql都会有锁Update delete insert 这些都是X锁排它锁Select是S锁,共享锁如果我们使用X锁,但不是按照索引来更新数据库,那么会出现表锁更改为按照id索引去更新,避免mysql执行时间...

2019-09-30 21:02:34 200

原创 solr项目实战

小编想要总结一下项目中用到的solr部分所以特意来总结一下。包括和Spring的结合。先说一下需求。【需求】教师添加题的时候,要根据题干内容自动的推荐已经添加的相似的题。【pom.xml】<dependency> <groupId>org.apache.solr</groupId> <artif...

2019-09-13 14:43:26 266

原创 Spring Cloud项目应用

前言:网络架构演变过程 What概念:Spring Cloud是基于SpringBoot基础上开发微服务框架,是目前非常完整的解决方案框架,其内容包含服务治理、注册中心、配置中心、断路器、控制总线、全局锁等等。常用组件: 优点:1.约定优于配置2. 轻量级组件3.开发简单4. 解耦WhySpringCloud对于微服务提供了...

2019-09-08 00:18:44 743

原创 文件句柄

一、文件句柄是什么?对象在内存中是经常来回移动的,如何快速定位找到这个对象呢?句柄说: “我来帮你找”windows系统给出的方案1.进程创建时,windows系统为进程构造了一个句柄表2.当该进程希望获得一个内核对象句柄或者创建一个内核对象从而获得该对象句柄时3.系统会将在句柄表中增加一个表项,表项的内容中存储了指向目标内核对象的指针4.同时,系统返回这个表项在...

2019-09-07 23:51:35 6623 1

原创 调用钉钉接口

调用钉钉接口操作手册一、准备工作名词解释钉钉开发过程中遇到的名词的阐释.https://open-doc.dingtalk.com/microapp/index/kv5e1t获取CorpIDCorpID是企业在钉钉中的标识,每个企业拥有唯一的CorpID。操作路径:登入OA管理后台(https://oa.dingtalk.com)→企业应用→工作台设置→自建应用→...

2019-09-07 16:24:33 7484

原创 定时任务框架选型及项目实际使用

一、项目目前定时任务现状使用Linux系统的crontab直接调用Java服务 优缺点:优点:部署简单,由linux系统维护相对Java进程维护更加维定 缺点:单机部署,风险大;出问题后排错难度大;需要运维介入成本大 总结:针对目前项目情况,弊大于利二、Java主流三大定时任务框架优缺点选型时原则:少服务器 后期维护方便 增加任务省事 而且快捷 不涉及启停服务Qua...

2019-09-07 15:16:56 5093

原创 微信宏观介绍

微信宏观介绍一、前言微信已经在众多的软件中普遍接入,比如微信授权登录、微信支付等功能。鉴于微信的普遍,在ITOO中可以考虑添加微信相关的操作。二、微信宏观介绍2.1 微信是一种生活方式既然我们知道了微信这么强大,我们就要看看微信开发是包含什么?截止到2017年8月9日,微信开发包含了上面图的部分。用的最多的就是微信公众平台和微信开放平台。随着这几...

2019-09-07 10:28:41 376

原创 JVM(1)—内存的划分

我们知道,在C++语言里,如果想使用一个对象,需要对其进行new操作;如果不用这个对象了,需要对其进行delete操作。一旦开发人员忘记写delete语句了,就会造成内存泄露。【内存被对象占用着不还,就叫内存泄露。】而java就聪明了,它从“手动”进化成了“自动”,把内存的控制权力交给了虚拟机。下面我们就来窥探一下jvm是怎么进行自动内存管理的。 自动内存管理分为两部分:给对象分配内存...

2019-09-06 09:15:07 168

原创 JVM初始-下

在上篇博客中,我们说了说JVM的结构和堆的分代,这次我们简单说说JVM的垃圾回收机制和监测。JVM的垃圾回收机制再来看下图,只有方法区和堆是线程共享的,所以只有他俩有垃圾回收机制。其余的都随线程死而死了,也就没有垃圾之说了。何为垃圾?不再被引用的对象就是垃圾。垃圾回收就是将此对象清除出来,释放空间。这样就可以盛放新的对象了。至于方法区是不是和堆中的永久代是一回事,好像没有定论。...

2019-09-05 12:07:16 146

原创 JVM初始-上

我们编写的代码是“java语言”的,可是计算机只能听懂“01语言”。那其中是怎么转换的呢?JVM讲的就是这个。 引入JVMjava语言到机器语言我们先来看一个java文件是怎么翻译为机器语言的。 从上图中可以看出:我们编写出.java文件,经过编译器(javac)编译,生成.class文件,再经过解释器(java)解释,生成机器语言。JVM起的作用就是:把每一条要...

2019-09-05 11:58:35 148

原创 maven Error:No compiler is provided in this environment.

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 问题maven编译项目时出错,提示信息如下:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin...

2019-09-04 11:52:25 260

原创 关于虚拟机出错的解决办法——The VMware Authorization Service is not running.

我的电脑是win10系统。本来虚拟机用的好好的,发现电脑卡,打算重启下,于是就强行把虚拟机关掉了。重启之后,打开虚拟机软件,启动系统,这个时候就出问题了。最开始是The VMware Authorization Service is not running。我关掉虚拟机,以管理员身份重启虚拟机,还是不行,错误原因是win10系统,打开VMware Workstation时,出现unabl...

2019-09-04 10:59:38 701

原创 解决问题:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile

在项目构建的时候遇到了这样的问题:Failedto execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile(default-compile) on project taotao-manager-pojo: Compilation failure检查了一下Installed JREs的设置,使用的...

2019-09-04 10:56:51 492

原创 Uncaught TypeError: XXX is not a function解决

后台没有错误,前端一直显示Uncaught TypeError: withdraw is not a function错误,代码如下: <div class="form-group btn-right"> <button type="button" class="btn btn-primary" id="withdraw" οnclick="with...

2019-09-04 09:59:04 3720

原创 分布式文件服务器FastDFS

一、什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。二、FastDFS架构 FastDFS 架构包括 Tracker server 和 S...

2019-09-04 09:37:37 352 1

原创 【Nginx】简介及在CentOS7.0下安装教程

是什么Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。优点:在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Ngin...

2019-09-03 11:55:31 272

原创 WebSocket

WebSocket一 、什么是websocket? WebSocket协议RFC 6455为Web应用程序定义了一项重要的新功能:客户端和服务器之间的全双工,双向通信。其历史悠久的技术使网络更具互动性。二 、为什么用websocket? 客户端服务器高频率低延迟交换事件。三、 应用场景 弹幕,即时新闻,弹窗。例如监视网络故障。...

2019-09-03 11:38:10 249

原创 dobbox

Dubbox简介Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果...

2019-08-28 09:10:44 280 2

原创 Dubbo之集群容错

集群容错在集群调用失败时,Dubbo 提供了多种容错方案,Failover Cluster - 失败自动切换 Failfast Cluster - 快速失败 Failsafe Cluster - 失败安全 Failback Cluster - 失败自动恢复 Forking Cluster - 并行调用多个服务提供者缺省为 failover 失败自动切换。各节点关系:...

2019-08-24 09:10:27 128

原创 Dubbo之注册中心

Dubbo的注册中心有Mulicast、Zookeeper、Nacos、Redis、Simple注册中心官方推荐使用zookeeper,下面分别介绍一下这五种注册中心。MulticastMulticast 注册中心不需要启动任何中心节点,只要广播地址一样,就可以互相发现。提供方启动时广播自己的地址 消费方启动时广播订阅请求 提供方收到订阅请求时,单播自己的地址给订阅...

2019-08-24 08:49:51 524

原创 Dubbo--简介

Dubbo是什么?一款高性能、轻量级的开源Java RPC框架能干什么?面向接口的远程方法调用 智能容错和负载均衡 服务自动注册和发现整体设计:图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥...

2019-08-19 01:02:24 105

原创 ref和out的区别

在C#中通过使用方法来获取返回值时,通常只能得到一个返回值。因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢?MSDN: ref关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用ref参数,则方法定义和调用方法都必须显式使用ref关键字。 out关...

2019-08-09 21:10:31 572

原创 【基础知识】-SQL触发器

一、概念 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER...

2019-08-09 21:08:58 288

原创 springcloud-eureka

什么是服务治理在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现在服务注册与发现中,有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。另一方(消费者|服务提供者),以该别名的方式去注册中心...

2019-08-04 21:12:00 133

原创 Spring 之DI依赖注入

概念 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利和对象的生命周期的管理过程交由spring框架来处理,从此在开发过程中不在需要关注对象的创建和生命周期的管理,而是在需要的时候由spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转。而在创建对象的过程中spring可以依据配置对象的属性进行设置,这个过程称之为依赖注入,也就是DI...

2019-07-30 17:35:33 116

原创 【多线程】-悲观锁和乐观锁

什么是悲观锁与乐观锁?乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁 总是假设最坏的情况,每次取数据时都认为其它线程会修改,所以都会加锁(读锁、写锁、行锁等),当其它线程想要访问数据时,都需要阻塞挂起。可以依靠数据库实现,如行锁、读锁和写锁等,都是...

2019-07-30 16:49:32 153

原创 【多线程】-synchronized和volatile

(1)关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且volatile只能修饰于变量,但是synchronized可以修饰方法,以及代码块。随着JDK新版本的发布,synchronized关键字在执行效率上得到很大提升,在开发中使用synchronized关键字的比率还是比较大的。(2)多线程访问volatile不会发生阻塞,而sy...

2019-07-30 09:42:20 148

原创 【多线程】-线程安全

原因: 当多个线程同时共享,同一个全局变量或静态变量。做写的操作时,可能发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。解决方案:方式一:内置锁SynchronizedSynchronized保证线程原子性,当线程进入方法的时候,自动获取锁,一旦锁被其它线程获取之后,其它的线程就会等待。方式二:同步方式1、同步代码块Synchr...

2019-07-30 09:07:09 119

springcloud视频.txt

每特教育&蚂蚁课堂SpringCloud2.0视频教程公开课的视频、源码、课件word文档等

2019-08-07

空空如也

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

TA关注的人

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