暂时未有相关云产品技术能力~
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
很简单,就是为了统计记录数 由SELECT返回 为了理解这个函数,让我们祭出 employee_tbl 表 所有记录 统计行的总数 计算 Zara 的记录数 注意:由于 SQL 查询对大小写不敏感,所以在 WHERE...
nginx是个强大的http和反向代理服务器,也是一个imap/pop3/smtp服务器,稳定、高效、低耗...第一次用后就不可收拾的一发了。为了榨取小服务器的最后一点性能,我也是尽了最大力气了。
项目实例代码已上传githubhttps://github.com/Wasabi1234/mmall 1. 什么是连接池 一般在程序中如果要和其他的系统创建连接进行交互并且连接的创建代价比较"昂贵"就需要用到连接池.
1 动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。
1 Java内存模型(JMM)的意义 JMM 与硬件内存架构对应关系 JMM抽象结构图 Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,规定 线程如何,何时能看到其他线程修改过的共享变量的值 在必要时如何同步地访问共享变量 以实现让Java程序在各种平台下都能达到一致性的内存访问效果。
前序、中序、后序和层序 二叉树本身就是一个递归的产物,那前序举例,访问根节点,然后左节点,再右节点,如果左节点是一棵子树,那么就先访问左子树的根节点,再访问左子树的左节点,依次递归;而层序,使用队列进行辅助,实现广度优先搜索 ...
① 数据库的优化,包括合理的事务隔离级别、SQL语句优化、索引的优化 ② 使用缓存,尽量减少数据库 IO ③ 分布式数据库、分布式缓存 ④ 服务器的负载均衡
应用服务器的高可用架构设计主要基于服务无状态这一特性,但是事实上,业务总 是有状态的, 在交易类的电子商务网站,需要有购物车记录用户的购买信息,用户每次 购买请求都是向购物车中增加商品 在社交类的网站中,需要记录用户的当前登录状态、最新发布的消息及好...
问题一(荷兰国旗问题) 给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的 右边。
SQL语句优化 对查询进行优化,要尽量避免全表扫描。在 where 或 order by 的列上加索引。 尽量避免在 where 子语句中有 where num is null,这样不用索引,要全表扫描,可用 0 代替 null 避免在 where 中用or!=,因为要全表扫描 尽量避免在 where 中用 or,因为若一个字段有索引,一个没有,则要全表扫描 like”%abc%”,全表扫描 避免在 where 子语句中对字段进行函数操作,因为要全表扫描 使用复合索引时,必须用到该索引的第一个字段,否则索引不被使用。
show tables或show tables from database_name; // 显示当前数据库中所有表的名称 show databases; // 显示mysql中所有数据库的名称 show columns from table_name...
java.lang.Object java.util.Collections简介 此类仅包含操作或返回集合的静态方法。 它包含多样的对集合进行操作的算法,“包装器”,返回由指定集合支持的新集合,以及其他一些细碎功能。
主要用到的是这两个类 java.util.regex.Pattern java.util.regex.Matcher。 Pattern对应正则表达式,一个Pattern与一个String对象关联,生成一个Matcher,它对应Pattern在String中的一次匹配; 调用Matcher对象的find()方法,Matcher对象就会更新为下一次匹配的匹配信息。
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。
1. 二叉树的深度 思路:看到二叉树,想想用递归,记得简化代码 数据库: 范式 第一范式:数据库表的每一项都是不可分割的原子数据项,不能是集合。
在讨论代码细节之前,我们再来了解下基础知识。Spring管理可用于整个应用程序的Java对象bean。他们所在的Spring容器,被称为应用程序上下文。这意味着我们不需要处理他们的生命周期(初始化,销毁)。
内存管理 包括内存管理和虚拟内存管理 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(分页管理方式、分段管理方式、段页式管理方式)。
前面几章介绍的安全发布、同步策略的规范还有一致性,这些安全性都来自于JMM。 16.1 什么是内存模型,为什么需要它? 假设 a=3 内存模型要解决的问题是:“在什么条件下,读取a的线程可以看到这个值为3?” 如果缺少同步会有很多因素导致无法立即...
近年来,在并发算法领域的大多数研究都侧重于非阻塞算法,这种算法用底层的原子机器指令来代替锁来确保数据在并发访问中的一致性,非阻塞算法被广泛应用于OS和JVM中实现线程/进程调度机制和GC以及锁,并发数据结构中。
类库中包含了许多存在状态依赖的类,例如FutureTask、Semaphore和BlockingQueue,他们的一些操作都有前提条件,例如非空,或者任务已完成等。
Java5之前只能用synchronized和volatile,5后Doug Lea加入了ReentrantLock,并不是替代内置锁,而是当内置锁机制不适用时,作为一种可选择的高级功能 不适用包括 无法中断一个正在等待获取锁的线程 无限的锁等待 内置锁必须放在代码块里面(编程有些局限性) 所以提供了J.
线程可以充分发挥系统的处理能力,提高资源利用率。同时现有的线程可以提升系统响应性。 但是在安全性与极限性能上,我们首先需要保证的是安全性。 11.1 对性能的思考 提升性能=用更少的资源做更多的事情(太对了,这才是问题的本质)。
10.1 死锁 哲学家问题 有环 A等B,B等A 数据库往往可以检测和解决死锁//TODO JVM不行,一旦死锁只有停止重启。 下面分别介绍了几种典型的死锁情况: 10.1.1 Lock ordering Deadlocks 下面是一个经典的锁顺序死锁:两个线程用不同的顺序来获得相同的锁,如果按照锁的请求顺序来请求锁,就不会发生这种循环依赖的情况。
ThreadPoolExecutor UML图: image image 8.1 在任务和执行策略之间隐形耦合 避免Thread starvation deadlock 8.
JAVA媒体提供任务机制来安全的终止线程。但是它提供了中断(interruption),这是一种写作机制,能够使一个线程终止另外一个线程。 一般来说没人希望立即终止,因为必要时总要先清理再终止。
代码简洁 这是迄今为止最大的优点,如果你曾经在Java5之前写过单例模式代码,那么你会知道即使是使用双检锁你有时候也会返回不止一个实例对象。虽然这种问题通过改善java内存模型和使用volatile变量可以解决,但是这种方法对于很多初学者来说写起来还是很棘手。
1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属于spring的) 默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设...
1. OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
图片发自简书App 前段时间手机意外进水坏了,最近才忍痛剁手买了新手机,闲暇之余,也便经常上简书看看别人写的文字,不说是陶冶情操这么自命清高了,只是想在现代的网络文学中找到一点共同的慰藉吧,一连看到几篇关于对于爱情的向往与无奈,于是写几笔,在辽阔的网络文学中做一颗发声的尘埃。
~代表你的/home/用户目录 假设你的用户名是xxx,那么~/ = /home/xxx/ .是代表此目录本身,但是一般可以不写 所以cd ~/. = cd ~ = cd ~/ 但是.后面有东西又是另外一个问题,点在文件名头部,代表一个[隐藏文件] ~/.local是你的主目录下一个.local的文件夹的路径, 并且从.可以看出,这是一个饮藏文件, 如果不用ls -a的话,一般ls是无法看到的 / 是目录层的分隔、表示符。
目录 安装(CentOS6.8) 下载、解压并编译 wget http://download.redis.io/releases/redis-2.8.0.tar.gz tar xzf redis-2.8.0.tar.gz cd redis-2.8.0 make make 编译好的二进制文件在src目录里。
所用源码已上传https://github.com/Wasabi1234/mmall4.0 介绍 官网 集成 image.
所用代码地址https://github.com/Wasabi1234/mmall Redis分布式锁 分布式锁在很多场景中是非常有用的原语, 不同的进程必须以独占资源的方式实现资源共享就是一个典型的例子。
目录 1. Spring Schedule介绍 作业调度,如定时任务 2. Spring Schedule Cron表达式快速入门 3.
image.png image.png zzz image.png image.png 0. REST不是"rest"这个单词,而是几个单词缩写。
定义 百度百科定义: 简单绑定是将一个用户界面元素(控件)的属性绑定到一个类型(对象)实例上的某个属性的方法。 例如,如果一个开发者有一个Customer类型的实例,那么他就可以把Customer的“Name”属性绑定到一个TextBox的“Text”属性上。
最近要在项目中做用户踢线的功能,由于项目使用spring session来管理用户session,因此特地翻了翻spring session的源码,看看spring session是如何管理的。
目录 无SpringMVC全局异常时的流程图 SpringMVC全局异常流程图 其实是一个ModelAndView对象 配置文件 applicationcontext.
要想使用spring session,还需要创建名为springSessionRepositoryFilter的SessionRepositoryFilter类。
长期以来,session管理就是企业级Java中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新。 但是,现代的趋势是微服务以及可水平扩展的原生云应用(cloud native application),它们会挑战过去20多年来我们设计和构建session管理器时的前提假设,并且暴露了现代化session管理器的不足。
简介 官网,文档,源码 官网https://projects.spring.io/spring-session/ 文档https://docs.
Jedis简介 作为Redis官方推荐的三个Java Client之一,Jedis推出时间最早,使用最为广泛(Spring默认使用的Redis Client就是Jedis),同时Star数也遥遥领先于另外两个。
1. 概述 Redis-Sentinel作为官方推荐的HA解决方案,Jedis也在客户端角度实现了对Sentinel的支持,主要实现在JedisSentinelPool.java这个类中,下文会分析这个类的实现。
1. 概述 当业务的数据量非常庞大时,需要考虑将数据存储到多个缓存节点上,如何定位数据应该存储的节点,一般用的是一致性哈希算法。 Jedis在客户端角度实现了一致性哈希算法,对数据进行分片,存储到对应的不同的redis实例中。
1 Redis分布式算法原理 1.1 传统分布式算法 举个例子 蓝色表与4个节点时相同槽 1.
在Servlet 3.0中增加对Cookie(请注意,这里所说的Cookie,仅指和Session互动的Cookie,即人们常说的会话Cookie)较为全面的操作API。
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。
1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息。Cookie还有一些附加信息,比如域名、有效时间、注释等等。
先了解Session,Cookie,JSESSIONID JSESSIONID是一个唯一标识号,用来标识服务器端的Session,也用来标识客户端的Cookie,客户端和服务器端通过这个JSESSIONID来一一对应。
servlet VS CGI 1)servlet 可移植 跨平台 CGI 不行 2)在传统 CGI 中每个请求都要启动一个新进程,若 CGI 程序的本身执行时间较短,启动进程所需要的进行所需要的开销很可能反而超过实际执行的时间;servlet,每个请求...
发表了文章
2025-04-18
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-01-02
发表了文章
2024-11-01
发表了文章
2024-10-31
发表了文章
2024-10-30
发表了文章
2024-10-29
发表了文章
2024-10-28
发表了文章
2024-10-27
发表了文章
2024-10-26
发表了文章
2024-10-25
发表了文章
2024-10-24
发表了文章
2024-10-23
发表了文章
2024-10-22
发表了文章
2024-10-21
发表了文章
2024-10-20
发表了文章
2024-10-19