自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【分布式电商网站(学习笔记)】1.环境搭建

电商网站访问量大数据量大并发高有一定的业务复杂性技术点丰富涉及安全方面工程架构(分布式应用架构)各个应用独立分层使用rpc实现web与service,service与service的互相调用提高代码复用性项目架构1)工程结构Maven为基础 对项目进行分层架构2)项目架构面向服务的分布式架构(SOA)技术栈二、分布式工程搭建三、Dubbo和zookee...

2020-01-07 17:00:02 303

原创 分布式事务_【CAP理论】

CAP理论<1>Consistency 一致性写操作之后可以读取到最新的数据状态,当数据分布在多个节点上从任意及诶单读取到的数据都是最新的状态如何实现一致性(1)写入主数据库后将数据同步到从数据库(2)写入主数据库后,在向从数据库同步期间将数据库锁定等待同步完成之后在释放锁。避免在新数据写入成功之后向数据库查询旧数据一致性特点(1)由于存在数据同步的过程写操作会有一定的延...

2019-12-30 14:43:46 193 1

原创 zookeeper入门_三【分布式锁】

Zookeeper 锁Zookeeper实现分布式锁1.0版本使用一个临时节点利用及诶单的特性同时只有一个客户端可以对节点操作实现分布式锁Step.1 用zookeepr中的一个临时节点代表锁 如 创建一个/exlusive_lock下创建临 时znode /exlusive_locak/lock 这个操作Step.2 当所有的客户端区争抢执行 创建此节点 同时只有一个客户端执行...

2019-12-27 15:27:17 185

原创 zookeeper入门_二【笔记】

基本操作1.启动zookeeper[root@ahui apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start2.进入zookeeper客户端[root@ahui apache-zookeeper-3.5.5-bin]# bin/zkCli.sh3.创建 znode[zk: localhost:2181(CONNECTED) 2] crea...

2019-12-25 15:59:25 90

原创 zookeeper入门【笔记】

【参考】https://blog.csdn.net/liyiming2017/article/details/83035157Zookeeper 对分布式的协调 使用共享存储方式,zookeeper 不直接暴露分布式服务所欲要的原语以及调用方法1.ZnodeZookeeper中 信息被保存在数据节点上znode(1)Master 存储当前主节点信息(2)Workers 下每一个zno...

2019-12-25 15:31:57 117

原创 【ReentrantLock】AND【ReentrantReadWriteLock】

ReentrantLock实现Lock接口的一个类支持重入性,表示能够对共享资源能够重复加锁,及当前线程再次获取该锁不会被阻塞1.锁的可重入final boolean nonfairTryAcquire(int acquires) { final Thread current = Thread.currentThread(); int c = getState(); ...

2019-08-29 11:10:35 69

原创 java_Lock【AQS】

AQSAQS的核心也包括了这些方面:同步队列,独占式锁的获取和释放,共享锁的获取和释放以及可中断锁,超时等待锁获取这些特性的实现1.同步队列AQS中的同步队列则是通过链式方式进行实现(双向链表没一个节点都拥有前驱和后继节点),使用头尾指针的方式管理同步队列。获取锁失败进行入队操作,获取锁成功进行出队操作。2.独占锁(1)获取独占锁【acquire方法】调用lock()方法获取独占锁,...

2019-08-26 18:11:24 167

原创 原子性、可见性、有序性

原子性、可见性、有序性、(1)原子性原子性是指一个操作是不可中断的,要么全部执行成功要么全部执行失败```javascriptInt a = 10; //原子性a++; //1.读取a的值 2.对a+1 3.更新的值赋给aInt b = a; //1.读取a 2.将a赋给ba = a+1;```java内存模型中定义了8中操作都是原子的lock...

2019-08-19 20:41:15 96

原创 java_【volatile】【final】

Volatilev被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象。(1)实现原理声明volatile的变量进行写操作VM就会向处理器发送一条Lock前缀的指令1.Lock前缀的指令会引起处理器缓存写回内存;2.一个处理器的缓存回写到内存会导致其他处理器的缓存失效;3.当处理器发现本地缓存失效后,就会从内存中重读该变量数据,即可以获取当前最...

2019-08-19 15:37:39 188

原创 链表OJ_【返回链表的中间结点】【合并链表】【删除倒数n节点】

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。class Solution { public ListNode middleNode(ListNode head) { ListNode qick = head; ListNode slow = qick; whi...

2019-08-18 15:23:08 181

原创 java_JMM_【happens-before】

(1)多线程共享变量实例域,静态域和数组元素都是放在堆内存中(所有线程均可访问到,是可以共享的)局部变量,方法定义参数和异常处理器参数不会在线程间共享(2)JMM结构模型1. 线程A将主内存共享变量读取读入线程A的工作内存后并进行操作,之后将数据重 新写回到主内存中2. 线程B从主存中读取最新的共享变量如果线程A更新后没有及时写会主内存而此时线程B读到的是过期的数据出现了...

2019-08-18 10:04:47 169

原创 java多线程_复习宝典【03】基础知识

Juc(1)并发并行1.并发多个任务交替进行2.并行真正意义上同时进行(1)避免死锁的方式1.避免一个线程同时获得多个锁2.避免一个线程内部占有多个资源,保证一个所一个资源3.尝试使用定时锁4.数据库锁 加锁解锁一个数据库连接内(2)线程的几种状态1.wait() join() LockSupport.Lock() 线程进入WAITING2.wait(long tim...

2019-08-17 21:53:18 98

原创 链表OJ_删除节点、翻转链表

删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-linked-list-elements。class Soluti...

2019-08-14 15:02:07 151

原创 03数据结构_单链表【带头循环单链表】

带头循环单链表【详细内容】https://blog.csdn.net/qq_36390039/article/details/89060878//2、带头循环单链表实现 public interface ICLinked { //头插法 void addFirst(int data); //尾插法 void addLast(int data); //任意位置插入,第一个数据节点为0...

2019-08-14 14:01:22 126

原创 C【练习】(扫雷小游戏)

本页详细解读 C语言控制台小程序 扫雷小游戏。实现使用控制台小程序,完成扫雷小程序(1.0)!!!话不多说直接贴上效果图接下来开始叙述怎么做出成果这里我在实现的过程中按照先写骨架,再写功能,最后补全(不够专业的叙述)Main()承担小程序的核心运行,使扫雷可以正常的运行 且能在每一盘游戏之后可以选择继续游戏或者退出。int main(){ srand((unsigned int)ti...

2019-08-14 12:08:15 5640 21

原创 java集合_复习宝典【01】

类集(1)ArrayList Vctor LinkedListArrayList Vctor LinkedList(2)fail-fast与fail-safe1.出现同步修改 当一个或多个线程遍历一个集合 此时另一个线程修改内容出现并发修改2.Fail-fast机制fail-fast遍历一个集合时当结构被修改抛出Concurrent Modification Exception...

2019-08-14 12:04:11 158

原创 02数据结构_单链表【无头非循环】

不带头的单链表非循环【详细内容】https://blog.csdn.net/qq_36390039/article/details/89060878使用内部类Node的方式实现链表// 1、无头单向非循环链表实现 public interface ILinked { //头插法 void addFirst(int data); //尾插法 void addLast(int data...

2019-08-11 15:37:16 90

原创 01数据结构_顺序表【大纲】

顺序表本文 主要为部分内容复习展示【详细内容】https://blog.csdn.net/qq_36390039/article/details/89057500这里我们使用数组模拟实现顺序表以及各项功能public interface ISequence { //在pos位置插入val boolean add(int pos,Object data); //查找关键字key 找到返...

2019-08-11 11:56:53 87

原创 java多线程_复习宝典02

线程安全多线程条件下保证线程安全 采用加锁机制Synchronized1)可以在任意对象以及方法上加锁 倍加锁的代码成为 互斥区 或 临界区2)多线程条件下 排队按照CPU分的方式进入同步队列 一个线程执行sunchronize其他线程拿不到 就会出现锁竞争3)Sychronized实现时是对对象加锁(this 类.class)Sychronize实现原理1)内置锁和护斥锁内置锁...

2019-08-11 10:09:49 98

原创 java七大排序算法_总结大纲

1.直接插入排序插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率在排序的过程中,先拍小序列再拍大序列将整个序列分为两个部分有序的(从小到大)+无序1.将队列第二个数字拿出存入tmp中2.与第一个数字进行比较组成一个两个数的有序队列3.依次从后面拿出数字与之前的序列进行比较4.如果前面的数字大于tmp则依次向后移动5.直达找到前面小于tmp的数字6.此时...

2019-08-08 14:06:28 154

原创 java多线程_复习宝典01

个人复习总结多线程问题归纳与总结多线程1.进程和线程进程 进行资源费配和调度的金本单位线程 程序流的最小单元一个进程有多个线程2.实现方式(1)继承Thread 重写run()(2)实现Runnable接口 覆写run方法但是没有返回值(3)对Runable补充实现Callable接口public class test implements Callable<Str...

2019-08-06 18:00:29 84

原创 06.javaWeb旅游网小项目【分页功能】

分页功能(前台)$(function () { var cid = serach.split("=")[1] ;*/ var cid = getParameter("cid"); var rname = getParameter("ranme") ; if(rname!=null){ rname = window.decodeURICompone...

2019-08-06 15:31:47 197

原创 05.javaWeb旅游网小项目【导航条功能】

导航栏功能导航栏功能(前端)$.get("category/findAll",{},function (data) { //data:list集合 var lis = "" ; lis += ' <li class="nav-active"><a href="index.html">首页</a></li>' ; /...

2019-08-06 15:26:17 528

原创 04.javaWeb旅游网小项目【登录功能】

登录功能登录功能(Servlet)1.构建页面载入事件 获取summit点击提交事件$("#btn_submit").click(function () {2.通过异步请求 携带 username=xxx&password=xxx的json串到后台.post(&quot;user/login&quot;,.post(&quot;user/login&am...

2019-08-03 19:58:51 380

原创 03.javaWeb旅游网小项目【邮件激活】

在使用大部分网站实现注册时,都有邮件激活功能,今天我们来为我们的小项目实现邮件激活的功能邮件激活实现邮件激活在注册功能完成后String content = "您的邮箱尚未激活,请<a href='http://localhost/travel/activeUserServlet?code="+user.getCode()+"'>点击激活</a>" ;MailUt...

2019-08-01 09:39:25 283

原创 02.javaWeb旅游网小项目【注册功能】

用户注册模块1.实现注册功能1)注册功能(前台页面)前台注册页面注册校验成功 使用异步交互(JQuery-ajax) 点击注册 将当前提交内容从后台数据库查询是否存在$(function () { $("#registerForm").submit(function () { if(checkUsername() && checkPassword() &&am...

2019-07-31 09:58:06 388

原创 01.javaWeb旅游网小项目【目录】

使用Servlet 3.0注解开发ServlethtmlJQueryajaxCookieSessionJavamail邮件技术Jakson 支持json解析Druid;连接池JDBCTemplate工具类Junit单元测试Redis:No-Sql 数据库 缓存代码分层com.bite.travel.webWeb层难点1.解决全局乱码问题 ————>过滤器R...

2019-07-31 09:50:00 465

原创 动态规划从简单到入门

(4)字符串分割给定一个字符串s和一个词典dict,确定s是否可以根据词典中的词分成一个或多个单词。比如,给定s = “leetcode”dict = [“leet”, “code”]返回true,因为"leetcode"可以被分成"leet code"像这种问题,它会变得比较抽象不能直接给你直观的东西,需要我们分析出动态递归的过程。子状态1 字符满足2 字符满足。。N 字符...

2019-07-25 22:30:51 129

原创 动态规划从简单到入门

动态规划问题从简单到入门在之前我们接触排序问题中,有一个特别好的思想被称为分治思想。分治思想的核心在与如何划分,怎样分治怎样大化小。由此延伸今天的问题 动态规划一般来说动态规划更像是递归的做法,抽取问题的相同点划分问题整体,将所有的步骤分开1.把原来的一个大问题分解成小步骤小问题例如: 斐波那契数列在解决时我们很难一次性计算出最终解,但是我们可以分析出,最终解是由前一个解推理而来 所以问题...

2019-07-22 15:59:47 82

原创 java_【多线程_②】

线程同步互斥:多个线程并发时某一刻只能有一个线程访问共享资源同步:线程间通信(线程合作)一把锁保护一个对象 一把锁保护一个相应的资源Java实现锁1.使用 synchronized 为关键字上锁①同步 代码块Synchronized(锁的对象) {//代码块}1.this 2。任意一个Object及其子类对象 3.当前类.class此代码块 一个时刻只能有一个线程进入所...

2019-07-19 08:48:50 95

原创 java_【类集】

MavenLambok1.ArrayList Vector LinkedList区别2.Hasmap Hashtable TrceeMap3.ConcurrentHashMap集合框架保存数据的集合,解决数据存放数组定长问题Collection(JDK1.2)Java保存单个对象最顶层接口Boolean add(E e) 增加Boolean delete() 删除Boolea...

2019-07-19 08:36:29 74

原创 java_【简读JVM】

b.JVM则是通过软件模拟Java字节码的指令集,JVM中只是主要保留了PC寄存器1.线程私有内存三块区域生命周期与线程生命周期相同,随着线程创建而创建,销毁而销毁不同线程三块内存相互隔离1)程序计数器(唯一一个不会产生OOM异常)无法计数本地(Native)方法 计数器为0OutOfMemoryError 内存溢出异常<1>是当前线程所执行的字节码的行号指示器2)虚拟...

2019-07-17 20:47:30 84

原创 Java_【多线程_①】

进程与线程进程: 操作系统程序一次执行过程(程序执行的一个周期)现代操作系统资源分配最小单元 资源分配最主要的内存操作系统为每一个进程分配内存互不干扰线程:操作系统进程的子任务现代操作系统任务分配的最小单元在一个进程中的所有线程共享这个进程的资源区别1.进程:是操作系统资源的最小单元 .线程:任务分配的最小单元2.进程启动与销毁代价大 线程启动或销毁代价小3.进程之间相互独立相...

2019-06-10 18:51:34 101

原创 Java_【I/O】

File类File 是一个普通的类java.io.File参与操作文件本身 直接参与文件的创建、删除、获取信息构造器Public File(String pathname) 直接传入文件的路径Public File(String parent,String chile) 设置父路径与子路径File类的主要方法createNewFile() 创建一个新文件public boo...

2019-05-19 15:21:25 78

原创 DS_【排序总结】

Java排序总结种类(1)插入排序:直接插入排序,希尔排序(2)选择排序:简单选择排序,堆排序(3)交换排序:冒泡排序,快速排序(4)归并排序(5)计数排序、基数排序性能稳定排序:冒泡排序,直接插入排序,归并排序,基数排序不稳定:简单选择排序,快速排序,希尔排序,堆排序时间复杂度O(nlogn):快速排序,希尔排序,堆排序O(n^2):直接插入排序,简单选择排序,冒泡排序...

2019-05-15 15:44:42 183

原创 DS_【非比较排序】

Java_【非比较排序】(1)计数排序计数排序的思想体现在分配和收集 与比较排序不同非比较排序不用去比较各个数字之间的大小直接利用数组的特性去存储,数组本就可以存放数据取数组的下标从小到大依然有序。所以我们直接利用数组的特性整个分配过程相当于 我们在手里拿到一堆无序的扑克牌然后我们按照地上所标记的数字依次将拿到的牌放置其中最后在从地上依次拿起那么这组牌就会有序排序过程描述1.准备一个与...

2019-05-15 15:43:20 99

原创 DS_【归并排序】

Java-四大排序归并排序归并的实现排序的一种解决方式,该算法直接体现分 和 治归并排序过程描述准备一个承载的数组该数组的长度与待排序的数组大小相同 排序的过程从小到大 先分组后排序先把所有的数据两两分组 i=1 s1=0 e1=0 s2=1 e2=1 使用s1--e1 表示分组排的第一个数组s2---e2表示分组排的第二个 经过第一次 数组A 和数组 B中存放 arra[...

2019-05-13 21:28:26 190

原创 DS_【交换排序】

Java四大排序三、交换排序(1)冒泡排序冒泡排序顾名思义就是将数组中相应的元素通过每一次两两比较达到最顶,类似于冒泡称之为冒泡排序排序过程描述:1.依次拿到每一个数组中的元素 依次遍历2.拿到的数字与之后的每一位数字比较 如果小于数组中的数字则交换位置3.当数组的每一个元素都被排完之后数组按照要求拍好算法描述1.一个外层循环遍历整个要排序的数组2.内层循环将拿到的数字依次向后...

2019-05-09 19:57:51 123

原创 DS_【选择排序】

Java 四大排序二、选择排序(1)简单选择排序排序过程描述1.拿到一个数 依次与之后的每一个数进行比较 将最小的放在 原来第一的位置2.拿到第二个数 与之后的进行比较 最小的放在第二的位置3.第三个数以此类推 直到最后一个数 排序结束算法过程描述1.循环遍历数组i2.内嵌遍历i之后的数组3.i 与 j进行大小比较 小的放前代码实现public static void...

2019-05-06 21:26:18 584

原创 DS_【插入排序】

Java-四大排序一、插入排序(1)直接插入排序直接插入排序 在执行操作中将一段新的数据插入已经排好了序列中。例如:在进行身高排队中 来了一组没有排好序的队列,我们依据其身高大小进行排队我们选取1.第一个人 记为第一位 将第二位拿来与其进行比较,高则后小则前。这样就为第一个有序的序列2.第三个人进入排序,依次与第一人第二人进行比较,就成为第二个有序序列排序描述过程一组无序序列 a...

2019-05-05 17:04:35 221

空空如也

空空如也

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

TA关注的人

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