自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 springBoot嵌套Vue时开启Swagger遇到的坑

最近在做个练习项目,springboot嵌套vue,将vue的index页面放在springboot的resource下的某目录中。我自己叫这种模式是伪前后端分离。 我的实现方式是1. 将Vue相关文件包括index页面放在stacie文件下2.修改配置中静态文件访问的根路径,以及页面加载根路径。(同时注意file:src这种方式在linux服务器上不能识别)...

2019-05-28 19:18:41 1056

转载 oracle——创建定时任务

原微博地址:https://blog.csdn.net/weixin_40764945/article/details/80691727oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一 1.创建一张测试表-- Create tablecreate table A8(...

2019-05-20 02:04:20 177

原创 oracle——分页

orcale的分页3、Oracle通用分页格式(效率较高)对于没有order by语句的分页:SELECT *FROM (SELECT ROWNUM AS rowno, t.* FROM DONORINFO t WHERE t.BIRTHDAY BETWEEN TO_DATE ('19800101', 'yyyymmdd') ...

2019-05-20 01:43:02 2066

转载 cracle——SEQUENCE

本博客全部借鉴他人博客内容,仅用于个人学习,尊重原创原地址:https://www.cnblogs.com/hyzhou/archive/2012/04/12/2444158.html1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下:CREATE SEQUENCE seq...

2019-05-20 01:18:02 168

原创 oracle—pl/sql

1. pl/sql 对sql进行的扩展,面向过程declare 说明部分 变量 常量 必然定义数据类型 变来那个赋值:=特色的变量类型 引用行变量 table.clounm%type 应用某表的某个字段的类型penamer emp.ename%beginselect ename intopenamer from ...en...

2019-05-19 23:52:10 102

原创 互联网技术学习30——zookeeper

1.高效的发分布式协调服务2.基于ZAB(原子消息广播)算法的实现,cas采用paxos复制算法3.顺序一致性、单一视图、可靠性、实时性4:配置搭建   配置环境变量 一. vim sample配置存储位置dataDir   二. 配置各节点可相互通信  server.X=ip+2888:3888 有几个阶段配置几个  三.创建文件夹dataDir   四.cd 到dataDir  五...

2018-11-22 09:40:07 144

原创 互联网技术学习30——rocketMq课程内容概述

这几天实在惭愧,工作太忙了没有持续更新,但是视频有一直在学,主要没更新的内容也都是各种服务的配置,网上很多教程,但是后期可能还会找时间补充上 1:rocketMq几种服务搭建2:rocketMq先启动coumster和先启动prostuer的区别3:几种重试机制4: 启动顺序(去重等方法),广播和集群消费5:不会丢数据,会持久化存在的6:启动方式,启动时可以指定conf...

2018-11-09 02:48:42 165

原创 互联网技术学习29——redis几种数据类型

Redis一共分5中基本数据类型: String、Hash、List、Set、ZSetString类型String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如对序列化的对象进行存储,比如一张图片进行二进制存储,比如一额简单的字符串数值等等。设置值 set name bts(多次设置name的值,后一次会覆盖前一次) 取值 get name 删除值 del name s...

2018-09-28 02:55:59 161

原创 互联网技术学习——28redis介绍及redis在linux系统下的安装

NOSQL简介NoSQL,泛指非关系型的数据库,NoSQL数据库主要分为四大类。键值存储数据库:主要使用哈希表,这个表中有一个特定的键和一个指针指向特定的数据。如Redis,Voldemort,Oracle BDB 类存储数据库:通常用来应对分布式存储的海量数据。键仍然存在,但是他们的特点是指向了多个列,如HBase,Rlak 文档型数据库:数据模型是版本化的文档,半结构化的文档已特定...

2018-09-28 02:23:29 116

原创 互联网技术学习27———垃圾回收算法+垃圾收集器

垃圾回收Garbage Collection,简称GC。GC中的垃圾指的是内存中不会再被使用的对象,而回收就是相当于把垃圾“倒掉”。垃圾回收有很多算法:引用计数法、标记压缩法、复制算法、分代、分区。在java堆中,新生代/老年代 =1/2 或1/3比较合适垃圾回收算法 引用计算法:这是一个比较古老而经典的垃圾收集算法,其核心就是在对象被引用的时候计数器加1,而当引用失效时减1,但是这种...

2018-09-25 01:12:22 258

原创 互联网技术学习27———JVM各组成及相关参数

虚拟机是一款软件,用来执行一系列虚拟计算机指令,虚拟机可以分为系统虚拟机(如VirtualBox、Vmware)和程序虚拟机(如Java虚拟机)。系统虚拟机是对物理计算机的仿真,提供了一个可以运行完成操作系统的软件平台。程序虚拟机专门为执行单个计算机程序而设计,如在java虚拟机中执行的指令为java字节码指令。java发展至今,出现过很多虚拟机,最初使用的是Classic的虚拟机,到现在应用最管...

2018-09-20 02:56:18 151

原创 互联网技术学习26——linux程序和进程的概念

程序是静态概念,本身作为一种软件资源长期保存;而进程是程序执行的过程,它是动态的,是有一定什么周期的,是动态产生和消亡的。一个程序可以有多个进程共用,一个进程在活动中也可顺序执行若干个程序。他们没有认识关系。在linux系统中,分为前台进程和后台进程,前台进程意思就是当一个命令执行的过程中,不允许其他的命令执行,我们之前所学习的常用命令基本上都是前台进程。比如我们查找一个文件:find /...

2018-09-17 00:04:03 135

原创 互联网技术学习26——vi、vim命令

vi/vim命令模式插入模式 aio编辑模式 :aio就是vi/vim的插入模式命令    作用a         在光标后附加文本A         在本行末附加文本i         在光标钱插入文本I         在本行开始插入文本o        在光标下插入行O        在光标上插入行定位命令set number 设置行号(set nu)set no...

2018-09-17 00:02:56 498

原创 互联网技术学习25——linux用户管理

用户管理配置文件用户信息文件:/etc/passwd密码文件:/etc/shadow用户配置文件:/etc/login.defs /etc/default/useradd新用户信息文件:/etc/skel用户组文件:/etc/group用户组密码文件:/etc/gshadow用户信息文件:/etc/passwd对应解释如下:用户信息文件 字段 含义        ...

2018-09-17 00:00:10 155

原创 互联网技术24——linux基础知识

一、Linux 文件根据上文Linux 文件说明1.文件的rwx    d开头表示文件夹,    -开头的表示文件,    l开头表示链接文件    r:read,w:write,x:execute    三部分分别表示         文件所有者的权限、所属组的权限、其他人的权限    2.链接数3.所有者4.所属组5.文件大小6.文件的创建或修改时间7.文件的...

2018-09-16 23:58:48 240

原创 互联网技术23——心跳检查及sigar的使用示例

心跳检测示例中需要结合sigar,所以这里先演示一下sigar的使用。1.首先要下载sigar包,导入包或使用maven依赖导入2.这点一定要注意,Sigar工具类下载地址需要将相应系统的DLL库放入jdk或jre的bin目录下才可以正常使用 Windows下配置:根据自己的操作系统版本选择sigar-amd64-winnt.dll或sigar-x86-winnt.dll拷贝到C:\...

2018-09-16 15:13:25 481

原创 互联网技术22——netty编解码技术与数据通信

Netty服务部署常用的部署方式有2中,一种是耦合在Web应用中(以Tomcat为例),使其伴随Tomcat的启动而启动,伴随Tomcat的关闭而关闭。另外一种则是将Netty独立打包部署,然后由单独的进程启动运行(可以使用shell或其他脚本进行启动),然后以数据库或者其他缓存为承接点,实现数据交互。Netty与其他程序进行交互,然后将获取到的数据进行处理插入数据库或者缓存,然后其他服务从中...

2018-09-09 01:33:09 168

原创 互联网技术21——netty拆包粘包

Netty拆包粘包在基于流的传输里比如TCP/IP,接收到的数据会先被存储到一个socket接收缓冲里。不幸的是,基于流的传输并不是一个数据包队列,而是一个字节队列。即使你发送了2个独立的数据包,操作系统也不会作为2个消息处理而仅仅是作为一连串的字节而言。因此这是不能保证你远程写入的数据就会准确地读取。 参考资料:http://ifeve.com/netty5-user-guide常用的...

2018-09-09 00:16:48 157

原创 互联网技术20——netty入门

Socket网络通信编程--NettyNetty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。换句话说,Netty是一个NIO框架,使用它可以简单快速的开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程中比如TCP和UDP的Socket开发。“快速和简单”并不意味着应用程序会有难维护和低性能的问题,Netty...

2018-09-05 02:51:05 339

原创 互联网技术19——scoket编程中的AIO通信

传统的BIO建立连接需要三次握手,并且在服务器端创建一个线程取处理客户端请求,在NIO中,客户端channel通道注册到多路复用器上的,减少三次握手的过程,在服务器端只需要一个线程去轮询注册到多路复用器上的channel的状态位,根据不同状态执行不同操作。 JDK1.7之后,AIO在之前NIO基础上引入异步通道的概念,并提供了异步文件和异步套接字通道的实现,实现了异步非阻塞。AIO不需要通...

2018-09-04 01:12:20 347

原创 互联网技术18——socket编程之NIO

NIO同步非阻塞NIO是同步非阻塞的,在传统的TCP点对点直接连接的基础上做了一层封装,并不是Client与Server直接建立连接,而是Client先到Server端进行管道注册。在Server端创建一个Selector多路复用器,启动一个线程轮询注册到Selector上的所有Channerl的状态,根据通道的状态,执行相关操作。通道的状态包括: Connect连接状态、Accept阻塞状态...

2018-08-31 01:55:04 241

原创 http学习

将从几个方面去写:1.请求部分2.响应部分3.三次握手4.四次挥手5.状态码6.webSocket7.rpc

2018-08-31 00:50:07 74

原创 互联网技术17——socket编程之BIO

TCP直连接Socket与ServerSocket,先看代码服务端:Server.javapackage com.socketBio;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * Created by BaiTianShi on 2018/8/29....

2018-08-30 22:47:17 196

原创 互联网技术16——Disruptor

学之前在看这篇博客之前,我想说的是,如果是准备入门Disruptor,建议掌握一些重要方法和特性,至于要实现哪种功能,建议掌握大致流程,以后的使用过程中慢慢去消化,如果学习任务比较多,又期望通过自己的入门式学习而全部掌握Disruptor并熟练运用时间成本有些划不来的。所以我准备有时间做一个简单归纳,这篇博客介绍了几种使用案例,同时推荐一个Disruptor的学习网站http://ifev...

2018-08-27 01:30:19 897

原创 互联网技术15——ReentrantLock之重入锁、读写锁、非公平锁

synchronized关键字可以实现线程之间的同步互斥给工作,Lock对象锁是一种完成同步互斥工作更优秀的机制,在1.6之后,对synchronized进行了优化,虽然效率上有所提升,但是在灵活度上仍然不如Lock对象。比如嗅探锁定,夺路分支等功能。重入锁:在需要同步的代码部分添加锁定,但是最后一定不要忘记了释放锁,否则会造成锁无法释放,其他线程不能执行。package com.c...

2018-08-24 00:51:45 485

原创 互联网技术14——Semaphore信号量

SemaPhore信号量非常适合高并发访问,在系统上线之前,要对系统访问量记性评估,当然这个肯定不是随便写的,是经过以往的经验、数据、历年的访问量,已经推广力度进行一个合理的评估,当然评估标准不能太大也不能太小。太大的话则投入的资源得不到实际的效果,会浪费资源。当评估值调小则某个时间点一个高峰值的访问量上回直接压垮系统。解决高并发关键在业务,要将业务进行划分,划分为不同的层次和模块,针对某个具...

2018-08-23 20:52:50 305

原创 互联网技术13——CountDownLatch和CyclicBarrier

CountDownLatch:countdownLatch经常用于监听某些初始化操作,等待初始化执行完毕后,再通知主线程继续工作。同步辅助类,在完成一组正在执行的操作之前,它允许一个或多个线程一直等待。实例化CountDownLatch时,需要制定唤醒次数。当线程执行了CountDownLatch.await()时,则当前线程处于阻塞的等待状态。其他线程根据执行逻辑,执行唤醒方法...

2018-08-22 16:39:50 340

原创 互联网技术12——Executor框架

Executor创建线程池为了更好的控制多线程,JDK提供了一套线程框架Executor,帮助开发人员有效的控制线程。他们都在java.util.concurrent包中,是JDK并发包的核心。其中有一个比较重要的类;excutors,它扮演者线程工厂的角色,我们可以通过Executor可以创建特定功能的线程池。Exexutor创建线程池的方法:1. newFixedThreadPoo...

2018-08-22 03:19:12 139

原创 互联网技术11——future模式和Master-Worker模式

 并行设计模式属于设计优化的一部分,它是对一些常见的多线程结构的总结和抽象,与串行相比,并行程序的结构通常更为复杂,因此合理的使用并行模式在多线程开发中更具有意义,这里主要介绍future和Master-Worker两种模式。future模式future有点像商品订单。比如在网购时,当看中某一件商品时,就可以提家订单,当订单处理完成后我们在家等着送货上门即可。或者更形象的说是ajax请求的...

2018-08-21 01:48:20 669

原创 互联网技术10——queue队列

  在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue为代表的阻塞队列。两种都是继承了Queue接口。层次图(hierarchy):(idea中 层次图快捷键:选中后(或在类中空白处)) ctrl+h )1.concurrentLinkedQueue:  concurrentLinkedQueu...

2018-08-18 05:06:28 411

原创 互联网技术09——并发类容器

鉴于同步类容器的并效率和非同步类容器在处理并发问题需要手动加锁的繁琐操作,专门设计了并发类容器 使用coucurrentHashMap来代替传统的hashMap,以及使用CopyOnWriteArrayList代替Vector,并发copyOnWriteArraySet,以及并发的queue,如ConcurrentLinkQuue和LinkedBlockQueue。前者是高性能的队列,后者是阻塞...

2018-08-17 02:38:42 151

原创 互联网技术08——同步类容器

集合容器框架关系简介:在Java集合容器框架中,主要有四大类:list、set、queue、map。期中list、set、queue都是继承了collection接口。Map本身是一个接口。 注意collection和map是一个顶层接口,而list、set、queue继承collection,分别带边数组、集合、队列这三大类容器。ArrayList和linkedList实现了list接口,...

2018-08-17 02:09:29 99

原创 互联网技术07——单例和多线程

单例模式实现方式:懒汉模式 饿汉模式 静态内部类 双重检查第一种,懒汉模式,顾名思义,就是什么时候需要,我什么时候创建,示例代码:package com.company;/** * Created by BaiTianShi on 2018/8/16. */public class SingleModal { private static SingleModal...

2018-08-16 02:54:36 92

原创 互联网技术06——使用wait/notify模拟Quene

BlockingQuene,Block即阻塞队列,在这里我们试着实现LinkBlockQuene的put和take两个方法put:把数据放入队列中,如果队列没空间,则一直阻塞,直到quene中有空间剩余,然后将数据放入队列中。take:从quene中取第一个(FIFO)元素,如果队列中没有元素,则阻塞,直到队列有数据进来,然后继续执行取操作。代码如下package com.com...

2018-08-16 01:26:01 108

原创 互联网技术05——多线程通信wait/notify以及countDownLatch

场景带入多线程之间处理数据,但业务复杂的时候,需要各个线程间实现通信,例如线程A和B同时处理数据,线程B的后半部分(假设是第50行代码,记做B50),必须等待线程A执行某方法(假设是第80行代码,记做A80)对数据进行初加工后B再执行。A、B同时启动,当A尚未执行完A80时,B线程已经运行到了B50,这时就需要B线程在B50处等待A80执行完毕,A80执行完毕后再通知B线程继续执行。这就涉及到...

2018-08-15 02:44:15 207

原创 互联网技术04——volatile关键字

思考:1.当多个线程同时访问同一个变量时,为了避免线程问题,我们可以给其加上synchronized关键字。但是每个线程都需要等待,这就造成并发数的太低的问题。看下面代码:package com.company;/** * Created by BaiTianShi on 2018/8/14. */public class VolatileTest extends Thre...

2018-08-14 01:12:15 137

原创 互联网技术03——重入锁

重入锁实现细节在学习重入锁之前,我们先来了解一下可重入锁ReenTrantLock的实现细节。分两种:1.公平锁模型和非公平锁模型公平锁:把锁比作只有一个入口的井,获取锁的过程比作打水权。初始化时,state=0, 村民A获得打水权,并将state置为state+1(变为1)。此时村民B来打水,但是只有一个井口,只能生成节点进行等待。这时村民A的家人来打水,可直接获得打水权,并将state...

2018-08-14 00:27:35 109

原创 互联网技术02——脏读

脏读:当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没提交到数据库中,这时另一个事务也访问这个数据,然后使用了这个数据。对于多线程的同步和异步方法,如果考虑不周,就有可能发生脏读的错误。例子:package com.company;/** * Created by BaiTianShi on 2018/8/13. * 脏读 */public class D...

2018-08-13 02:30:00 525

原创 互联网技术01——线程基础

线程安全的概念:当多个线程访问某一个类(对象或方法)时,这个类始终能表现出正确的行为synchronized :可以加在任意对象及方法上,加上synchronized的这段代码称为“互斥区”或“临界去” 实例  1.  多个线程一个锁:package com.company;/** * Created by BaiTianShi on 2018/8/13. */...

2018-08-13 00:46:22 529 2

原创 Hiernate 保存报类信息冲突的错

解决办法:session.evict(entity)

2018-08-13 00:33:21 259

空空如也

空空如也

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

TA关注的人

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