- 博客(26)
- 收藏
- 关注
原创 Nginx反向代理不生效,upstream出现
upstream的基本语法如下,一个upstream需要设置一个名称,这个名称可以在server里面当作proxy主机使用。一个upstream可以设置多个server,通常情况下Nginx会轮询每一个server,从而达到最基本的负载循环效果。,但是在别的服务器是可以实现的(C域名反代到A),因为在前面有过这个配置`用ng做反代时,A、B两个域名是解析到同一个服务器(ip)的,这里先解释一下upstream。所以后面的域名反代要使用。
2023-08-03 14:41:02
1489
转载 SQL多表更新以及unnion加All的区别
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
2023-04-14 16:59:36
518
原创 办公用品浏览按钮改写
原开发缺点:1、图片加载慢(循环请求接口导致)2、细节考虑不够(没显示数量,二次选择时不明确)3、用户体验不好(没有马上显示已选列表,图片占比过大)新版优点1、重写浏览按钮时,直接使用原参数去获取数据(原来是用的自己开发的接口,然后循环遍历去再请求,这样会过慢)2、根据属性来判断checkBox是否被勾选,相比原来判断js 的元素类名是否包含 checked更敏捷3、采用三列式布局,让用户能直观看到自己选择过什么数据4、点击左侧分类时,中间跟随滚动。
2023-03-20 15:51:57
136
原创 Session和Cookie有什么区别?
转自知乎 @轩辕志远 的回答 1.由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来标识具体的用户,这个机制就是Session .eg:典型的场景,比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。 这个Se
2021-03-28 10:38:39
132
原创 Navicat连接虚拟机的MySQL出现(using password:YES)
这种情况一般是密码错误首先1.关闭mysql服务service mysql stop2.修改mysql为免密码登陆vim /etc/my.cnf在mysqld下,增加skip-grant-tables3.然后启动mysql服务,并登陆service mysql startmysql -u root -p密码为空,直接回车4.查看mysql的用户及密码use mysql;select host, user, authentication_string, plugin fro
2021-02-05 11:20:00
1715
转载 sql调优
https://www.cnblogs.com/myseries/p/11570661.htmlhttps://www.cnblogs.com/yunfeifei/p/3850440.html
2021-02-05 08:57:12
115
原创 MySQL百万数据分区查询案例
MySQL分区案例1.创建数据表2.创建函数,插入百万条数据3.插入分区并分析1.创建数据表DROP TABLE IF EXISTS `visit_record`;CREATE TABLE `visit_record` ( `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'UUID', `PID` varchar(32) CHARACTER SET utf8 COLLATE utf8_g
2021-01-29 11:04:33
378
转载 多线程的操作原则
多线程的操作原则1. 前言2. 多线程 AVO 原则3. 单 CPU 时代的多线程4. 多 CPU 时代的多线程5. 为什么要进行多线程并发6. 线程安全问题7. 共享变量内存可见性问题8.小结1. 前言了解多线程 AVO 原则,是学习本节内容的基础;了解单 CPU 时代的多线程,能够更好地理解多 CPU 诞生的原因;了解多 CPU 时代的多线程,是目前我们接触和使用到的开发场景;了解为什么要进行多线程并发,使我们学习本套课程的前提,也是多线程并发的意义所在;了解线程安全问题,这是本节课程的重
2020-12-24 21:00:29
431
转载 ThreadLocal 的使用
ThreadLocal 的使用1. 前言本文内容主要是对 ThreadLocal 进行深入的讲解,具体内容点如下:了解 ThreadLocal 的诞生,以及总体概括,是学习本节知识的基础;了解 ThreadLocal 的作用,从整体层面理解 ThreadLocal 的程序作用,为本节的次重点;掌握 ThreadLocal set 方法的使用,为本节重点内容;掌握 ThreadLocal get 方法的使用,为本节重点内容;掌握 ThreadLocal remove 方法的使用,为本节重点内容
2020-12-22 16:21:04
383
转载 守护线程与用户线程
守护线程与用户线程1. 前言本节内容主要是对守护线程与用户线程进行深入的讲解,具体内容点如下:了解守护线程与用户线程的定义及区别,使我们学习本节内容的基础知识点;了解守护线程的特点,是我们掌握守护线程的第一步;掌握守护线程的创建,是本节内容的重点;通过守护线程与 JVM 的退出实验,更加深入的理解守护线程的地位以及作用,为本节内容次重点;了解守护线程的作用及使用场景,为后续开发过程中提供守护线程创建的知识基础。2. 守护线程与用户线程的定义及区别Java 中的线程分为两类,分别为 d
2020-12-22 14:41:17
1194
转载 线程上下文切换与死锁
线程上下文切换与死锁1. 前言本节内容主要是对死锁进行深入的讲解,具体内容点如下:理解线程的上下文切换,这是本节的辅助基础内容,从概念层面进行理解即可;了解什么是线程死锁,在并发编程中,线程死锁是一个致命的错误,死锁的概念是本节的重点之一;了解线程死锁的必备 4 要素,这是避免死锁的前提,了解死锁的必备要素,才能找到避免死锁的方式;掌握死锁的实现,通过代码实例,进行死锁的实现,深入体会什么是死锁,这是本节的重难点之一;掌握如何避免线程死锁,我们能够实现死锁,也可以避免死锁,这是本节内容的核心
2020-12-22 13:52:32
320
转载 多线程 yield 方法
多线程 yield 方法1. 前言本节对 yield 方法进行深入的剖析,主要内容点如下:首先要了解什么是 CPU 执行权,因为 yield 方法与 CPU 执行权息息相关;了解 yield 方法的作用,要明确 yield 方法的使用所带来的运行效果;了解什么是 native 方法,由于 yield 方法是 native 方法的调用,在学习 yield 方法之前,要了解什么是 native 方法;掌握 yield 方法如何使用,这是本节知识点的重中之重,一定要着重学习;了解 yield 方法
2020-12-22 11:22:32
1581
转载 多线程 join 方法
多线程 join 方法1.前言本节对 join 方法进行深入的剖析,主要内容点如下:了解 join 方法的作用,初步的理解 join 方法的使用带来的效果是学习本节内容的基础;了解 join 方法异常处理,我们在使用 join 方法是,需要对 join 方法进行有效的异常处理;通过匿名内部类创建Thread 是我们本节代码示例所使用的的方式,对这种方式的掌握在后续工作中非常重要;掌握 join 方法如何使用,这是本节的重点内容,也是本节的核心内容;掌握带参数的 join 方法使用,在后续开发
2020-12-22 10:34:19
6404
转载 Java 多线程的创建
1. 前言本节内容重点需要掌握 Java 多线程的三种创建方式,具体内容如下:Java 线程类 Thread 继承结构,这是 JDK Thread 源码的类结构,是了解 Thread 类的第一步;掌握多线程的三种创建方式,这是本节的重点内容。本节所有内容都是围绕改话题进行的讲解;了解多线程不同创建方式的优劣,不同的创建方式有自己的优势和劣势,本节还会推荐同学使用第二种接口实现的创建方式;掌握 Thread 类常用方法,这也是本节的重点内容,其常用方法使我们开发过程中经常涉及到的,必须要熟记于心;
2020-12-22 09:10:41
130
转载 Java线程内存模型
1. 前言本节内容是从操作系统的层面谈并发,我们需要掌握如下内容:了解 Java 的内存模型定义,是 Java 并发编程基本原理的基础知识;从概念上了解线程的私有内存空间和主内存,能够从全局上了解线程是如何进行内存数据的存取操作的;了解线程拥有私有空间的意义,私有空间能够为线程提供独有的数据,其他线程不可干扰;在多线程环境下,主内存操作共享变量需要注意的事项需谨记,数据安全问题很重要;Java 线程也是拥有生命周期的,了解它的生命周期,从宏观上了解线程。2.什么是 Java 的内存模型定义
2020-12-22 08:33:52
415
1
转载 Java并发编程简介
并发编程简介1. 什么是并发编程所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在在同一实体上的多个事件。多个事件在同一时间间隔发生。并发编程①从程序设计的角度来讲,是希望通过某些机制让计算机可以在一个时间段内,执行多个任务。②从计算机CPU硬件层面来说,是一个或多个物理CPU在多个程序之间多路复用,提高对计算机资源的利用率。③从调度算法角度来说,当任务数量多于CPU的核数时,并发编程能够通过系统的任务调度算法,实现多个任务一起执行。2.并发编程的重要性它是Java语言中最为晦涩的
2020-12-21 14:08:57
775
原创 配置java环境变量的坑
配置java环境变量时,JAVA_HOME是系统变量而不是用户的环境变量,把它设为系统变量之后,输入javac就有东西出来了具体参考了这位同学的文章https://www.jb51.net/article/187844.htm
2020-12-11 09:22:15
144
原创 控制反转(IOC)和依赖注⼊(DI)
什么是控制反转(IOC)?什么是依赖注⼊(DI)?IOC inversion of control 控制反转控制反转:是一种设计思想,程序需要某个对象时,由原来的new的过程,转为由spring容器进行创建、管理和维护组件之间的关系,这样做的好处是大大降低了组件之间的耦合度,控制权由应用代码转移到了spring容器,控制权发生了反转,这就是spring的控制反转。DI dependence injection 依赖注入(依赖注射)在Java中有三种实现方式:1、构造器注入2、Setter方法注入
2020-11-23 09:59:18
208
原创 描述一下线程从创建到死亡的几种状态都有哪些
线程从创建到死亡的几种状态这个属于比较基础的问题我参考了牛客网上 解释不多余201807251001567 同学的答案1.新建状态(New)当用new操作符创建一个线程时, 例如new Thread®,线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码2.就绪状态(Runnable)一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源
2020-11-20 15:28:00
762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人