07 2019 档案
摘要:什么是Feign: 声明式的伪Http客户端,使得写http客户端变得简单 使用Feign只要创建一个接口并注解就好,有可插拔的注解特性,可使用Feign注解和JAX-RS注解 支持可插拔的编码器和解码器 整合了Ribbon,有负载均衡的能力 整合了Hystrix,有熔断能力 声明式的伪Http客户
阅读全文
摘要:之前一直想,既然springCloud基于springBoot。那为什么很多公用的包还是要放在子模块pom中。试了一下,放在父模块中,应该也是没有什么问题的。 之前看视频上讲子模块的名字最好下划线。 但是他没说注册到eureka的服务名称,不能下划线!!!啊!不能下划线!!!真的坑了好几天。 还有就
阅读全文
摘要:负责均衡客户端,不是服务器端,nginx是在服务器端进行的负载均衡 Feign默认集成负载均衡 自动从Eureka Server获取服务列表 使用本地负载均衡策略去请求服务 轮询、随机、一致哈希性、加权、哈希 Nginx是c写的,ribbon是java写的,前者性能较好 依赖主要用spring-cl
阅读全文
摘要:https://blog.csdn.net/neosmith/article/details/53131023 程序构成 是纯正的 servlet 应用,需构建成war包部署 使用了 Jersey 框架实现自身的 RESTful HTTP接口 peer之间的同步与服务的注册全部通过 HTTP 协议实
阅读全文
摘要:直接看雷坤大神的博客:https://blog.csdn.net/qq_36895020/article/details/90112023 注: spring-cloud-starter-eureka-server已经废弃,用spring-cloud-starter-netflix-eureka-s
阅读全文
摘要:Idea: 这里是指定项目用什么JDK: 指定项目Maven配置和仓库路径: 同样是setting,搜索Runner: 设置VM-Options:-DarchetypeCatalog=internal 同时jdk版本要对应。避免每次创建maven工程的时候都去网上下载一个插件。 指定项目Maven配
阅读全文
摘要:
阅读全文
摘要:什么是微服务? 解决什么问题: 需求的不断增加,企业更新和修复大型整体式应用变得越来越困难 要求功能快速上线 一个大型复杂软件应用由一个或多个微服务组成 相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。 Spring Cloud 为开发者提供了在分布式系统(配置
阅读全文
摘要:1.默认使用keyGenerator生成:默认使用simpleKeyGennerator生成key: simpleKeyGennerator默认如果没有参数:key = new SimpleKey() 一个参数:key = 参数值 多个参数:key = new SimpleKey(params) 2
阅读全文
摘要:可扩展:https://blog.csdn.net/qq_26000415/article/details/78947283 1.如果引用了缓存,缓存的自动配置就会生效。 CacheAutoConfiguration就是缓存的自动配置类。 2.这个类通过import导入CacheManagerCus
阅读全文
摘要:@Cacheable注解属性: 1.cacheName/value:指定cache组件的名称,可以指定单/多个: 2.key:要按SpEL表达式去写,比如: 如果要动态拼接key也可以,key="#root.methodName+'['+#参数属性名+']'"会被拼接为方法名【参数】 3.cache
阅读全文
摘要:1.创建一个spring初始化项目,jdk1.8 2.核心模块选中cache 3.引入web模块 4.数据库选mySQL和MyBatis 5.编写实体类,不用加注解。 3.引入web模块 4.数据库选mySQL和MyBatis 5.编写实体类,不用加注解。 6.配置数据源 7.编写Mapper接口,
阅读全文
摘要:再有扩展https://blog.csdn.net/wilbertzhou/article/details/18888789 JSR是Java Specification Requests 的缩写 ,Java规范请求,故名思议提交Java规范,大家一同遵守这个规范的话,会让大家‘沟通’起来更加轻松,
阅读全文
摘要:Spring定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术。并支持使用JCache(JSR-107)注解简化开发。 Cache接口为缓存的组件规范定义,包含缓存的各种操作集合。
阅读全文
摘要:访问静态资源时,SpringBoot会自动将静态资源映射到resources目录下的public、resources、static去找。 还有很多要扩展
阅读全文
摘要:JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集。 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 值 JSON 值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括
阅读全文
摘要:什么是执行器? 所有我们在应用层通过sqlSession执行的各类selectXXX和增删改操作在做了动态sql和参数相关的封装处理后,都被委托给具体的执行器去执行,包括一、二级缓存的管理,事务的具体管理,Statement和具体JDBC层面优化的实现等等。所以执行器比较像是sqlSession下的
阅读全文
摘要:映射器是由:java接口和XML文件(或注解)组成的。 主要功能:定义sql,定义查询结果和pojo的映射关系,设置入参类型,配置缓存怎么用。 选择xml而不选择注解的原因: 注解有限,能实现的功能也就受限。 写复杂的sql的时候,如果用注解,可读性会变差。 mapper.xml中共有九个节点: 基
阅读全文
摘要:是一个半自动化的ORM框架 是为了解决面向对象与关系数据库存在的互不匹配的现象。也就是说Mybatis的关注点在于对象与数据库之间的映射。 Mybatis其实是对jdbc的操作数据库的过程进行了封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建
阅读全文
摘要:每个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。 SqlSessionFactoryBuild提供了多个Build方法构建SqlSessionFactory。其实真正的只有三种。 1.通过Reader、String(environment)、Propertie
阅读全文
摘要:是什么: springMVC是spring的一个模块,是一个web层的一个MVC的框架,无需中间层来整合。MVC这种框架他把Model、View、Controller分离,把较为复杂的web框架分成逻辑清晰的几个部分,方便开发维护。 工作流程: https://blog.csdn.net/a7452
阅读全文
摘要:https://blog.csdn.net/itzyjr/article/details/8439586 BUG: https://blog.csdn.net/tctctttccc/article/details/76652734 用法: 怎么取得被选中的值: 通过一/二级标签的name属性,可以取
阅读全文
摘要:代码级别 a. 用局部变量代替全局变量 b. 类变量不要重复创建,尤其是在大for循环中。 变量尽量做到重复利用,变量应该在判断语句内实例化。 c. 局部变量用完后,要及时回收,最有效的方法是直接赋值为null d. 字符串值频繁添加或修改时,最好用StringBuffer(线程安全) 和 Stri
阅读全文
摘要:一、常用的hibernate操作dao 第一种,通过继承HibernateDaoSupport来操作√ 第二种,通过HibernateTemplate来操作√ 第三种,通过使用Hibernate的session来操作√(最灵活的) 第四种,直接写JDBC来实现数据库操作(没用过)(太原始了,不推荐用
阅读全文
摘要:https://blog.csdn.net/zhanglu0223/article/details/79077896 SpringScheduled和Timer的区别,以及一起用时应该注意的问题:Spring定时任务是在程序启动后执行,TImer一般是放在某个类的构造函数里面,程序初始化类的时候执行
阅读全文
摘要:https://www.cnblogs.com/zhuxiansheng/p/7805552.html import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.an
阅读全文
摘要:spring中scope是一个非常关键的概念,简单说就是对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式。 在Spring 2.0之前,有singleton和prototype两种; 在Spring 2.0之后,为支持web应用的Application
阅读全文
摘要:Controller 标记的类是一个SpringMVC的Controller对象 分发处理器会扫描使用了这个注解的类,里面的方法,并检测这些方法是不是用了@RequestMapping 把Request请求头部的值绑定到方法的参数上。 标注控制层组件 RestController =Controll
阅读全文
摘要:Spring注解配置和Xml配置到底哪个好? 基本配置用xml(如数据库配置)。 业务配置用注解. 控制反转和依赖注入的概念: 什么是元数据: AOP: Aop是什么? AOP(Aspect Oriented Programming) 面向切面编程,是目前软件开发中的一个热点,是Spring框架内容
阅读全文
摘要:https://blog.csdn.net/jia970426/article/details/78647645
阅读全文
摘要:轻量 完整的spring框架可以在大小只有1M的jar包里发布 Spring创建的类,是不用依赖于Spring中的特定类的 IOC 低耦合 一个对象所依赖的对象会被注入进来,而不是他自己去创建或者查找 AOP 把应用业务逻辑和服务系统分开
阅读全文
摘要:Struts2框架是基于HttpServletRequest请求的,框架在处理每个请求时,都会创建该请求的运行环境,并将请求对应的Action放入其中,Action对象被放在值栈对象上,User对象作为javaBean的一个属性被暴露出来,值栈本身放在运行环境中。 在处理请求的过程中,所有业务数据对
阅读全文
摘要:Bug HashCode 员工表中包含多个项目,因此创建一个项目集合并初始化,但是在使用这个项目集合的时候还是会报空指针异常, 是因为hashCode()方法出错,之前我生成Project类的时候,他的主键的属性是int/long类型的,我把它改成了Long类型,却没有重新生成hashCode方法,
阅读全文
摘要:默认为延迟加载 when: 如果程序加载一个持久化对象的目的是访问它的属性,则可以采用立即加载 如果程序加载一个持久化对象的目的仅仅是获得它的引用,则可以采用延迟加载。 Dept dept = (Dept)session.load(Dept.class,10L); Employee employee
阅读全文
摘要:OGNL所有表达式解析必须针对ActionContext中的某个对象,值栈是默认的根对象。 ActionContext的对象: ValueStack parameters application session attr request ValueStack parameters applicati
阅读全文
摘要:Hibernate优点 1、对象/关系数据库映射(ORM),它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想。 2、 透明持久化(persistent),带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,
阅读全文
摘要:他们的session差距比较大,具体可以参照http://www.mamicode.com/info-detail-2254929.html websocket的session有很多用处,保存信息,发送请求,前后端交互用的变量和方法都保存在session里面,前端每new WebSocket进行op
阅读全文
摘要:步骤一:添加maven依赖 步骤二:编辑SpringWebSocketConfig,xml配置和使用注解两种方式。 registerWebSocketHandlers:这个方法是向spring容器注册一个handler地址,我把他理解成requestMapping。 addInterceptors:
阅读全文
摘要:1.WebSocket 是什么? WebSocket 是一种网络通信协议。 2.为什么需要 WebSocket ? 了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。 这种通信模型
阅读全文
摘要:<fmt:formatNumber>标签用于格式化数字,百分比,货币。https://blog.csdn.net/chao430/article/details/85681817 把数值转换为小数点后两位:https://zhidao.baidu.com/question/586683404.htm
阅读全文
摘要:每个JSP在第一次被访问的时候,都会被jsp引擎翻译成servlet,按servlet的方式调用。 JSP的九大内置对象:Page/Out/PageContext/Config/Request/Response/Session/Exception/Application Page不常用。 Out用于
阅读全文
摘要:定义:设置一个属性后,可以经过多少个其他页面后仍然可以保存的范围。 所有存在JSP里面的属性都有四种范围:page、request、session、pageContext
阅读全文
摘要:包含:静态内容、指令、表达式、小脚本、声明、标准动作、注释。 sp中的标准动作 jsp标准动作是内置标记,是规范结构,由容器实现,运行时就具有这些功能,每个标准动作能实现一定的功能。 常见的标准动作有: <jsp:useBean> 定义和访问javaBean; <jsp:setProperty> 设
阅读全文
摘要:包含:静态内容、指令、表达式、小脚本、声明、标准动作、注释。 表达式: 表达式: 是对数据的表示,系统将其作为一个值进行计算。例如:<%=user.getName() %> 表达式的本质:在将JSP页面转换成Servlet后,使用out.print()将表达式的值输出。 因此这里要注意以下两点: 1
阅读全文
摘要:包含:静态内容、指令、表达式、小脚本、声明、标准动作、注释。 1. 静态内容:前端内容:一行一行翻译成out.write("静态内容") 2. 指令: <%@指令名 属性名=”值”%> 指令包含page、include、taglib指令: page:(共11个属性) page指令的标准用法:告诉se
阅读全文
摘要:说说http协议的一些特点: 1)无状态 http协议是一种自身不对请求和响应之间的通信状态进行保存的协议,即无状态协议。 这种设置的好处是:更快的处理更多的请求事务,确保协议的可伸缩性 不过随着web的不断发展,有时候,需要将这种状态进行保持,随即,就引入了cookie技术,cookie技术通过在
阅读全文
摘要:Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Cookie的有效期Cookie的修改、删除Cookie的域名Cookie的路径Cookie的安全属性JavaScript操作Cookie案例:永久登录S
阅读全文
摘要:1.概念: 1.1绝对路径——在硬盘上存在的真正路径。 1.2相对路径——相对于自己的目标文件位置。 1.3相对虚拟目录如图——“/”代表虚拟目录的根目录。举例如图: 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI(
阅读全文
摘要:很奇怪这个var变量一定要放在事件里面。 mysql中BLOB字段内容如何查看。 sessionStorage在项目中的应用 initAutoComplate
阅读全文
摘要:xml特点: 节点成对出现,各个节点可以自由扩展,区分大小写。 xml不是编程语言,只是标记语言,不可以转换成二进制代码。 解析xml文件 XmlDocument对象可以表示整个XML文档,使用Load(“xml路径”)方法将指定的xml文件读入XmlDocument对象。 DocumentElem
阅读全文
摘要:用法: 1.若/写在jsp中交由浏览器来解析,代表当前web站点的根路径;例:http://localhost:8080/ 超链接:<a href="/TestServlet">Java Web</a>此时相当于:http://localhost:8080/TestServlet 此时是不能连接到s
阅读全文
摘要:1.首先在页面上设置var clickNumber =0; 2.每次点击新增,跳到一个函数里面clickNumber++; 3. function initAutocomplete(rows){ var source = eval($('#groups').val()); $("#groupCode
阅读全文
摘要:参考:https://blog.csdn.net/likeflower950/article/details/75807430 在js中使用break报错:Uncaught SyntaxError: Illegal continue statement 在JS中出现上面错误,很可能是因为在forea
阅读全文
摘要:非常完美 https://blog.csdn.net/pseudonym_/article/details/76093261
阅读全文
摘要:1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。 2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。 3、Engine获得请求localhost/test/index.js
阅读全文
摘要:第一节 jQuery初步认知 jQuery概述 JQuery概念 javascript概念 基于Js语言的API和语法组织逻辑,通过内置window和document对象,来操作内存中的DOM元素 JQuery概念 基于javascript的,同上,提高了代码的效率 jQuery是什么: 是一个ja
阅读全文
摘要:网页的结构层、表示层和行为层分离的越彻底,维护及更新就越容易。结构层和表示层可以彻底的分离,结构层和行为层也可以分离,但是当用行为层来操纵表示层时,情况就有些麻烦。 当在javascript里改变css时,我们可能会直接在Javascript代码用诸如tr.style.color="red"这样的语
阅读全文
摘要:1.【在网页中引用javaScript的方式】 1.内部js,直接使用<script>标签 2.外部js,指定<script>的src属性 3.直接写在html的标签中(一般极少代码时使用):<input onclick="javascript:alert('欢迎');"> 2.【使用typeof判
阅读全文
摘要:0.基本概念 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。 1.传统固定布局: 实现方法:用width和height指定宽高px值、以及float浮动 缺点:
阅读全文
摘要:ContextLoaderListenner的作用是在web容器启动的时候,自动装配ApplicationContext的信息。因为他实现了ServletContextListenner
阅读全文
摘要:是什么:直接或间接调用自己的算法。 关键点:1.确定好条件。2.找到循环的是哪些。 (1)边界条件:确定递归到何时终止,也称为递归出口。(2)递归模式:大问题是如何分解为小问题的,也称为递归体。递归函数只有具备了这两个要素,才能在有限次计算后得出结果。 汉诺塔: 什么时候要用到递归算法: 1.解决问
阅读全文
摘要:快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。通过两个不相邻元素交换,可以
阅读全文
摘要:比较redis、数据库、文件存token https://www.cnblogs.com/penglei-it/p/wx_yh.html
阅读全文
摘要:实现分布式锁的几种方式: 数据库锁:性能不好,效率低。 Redis分布式锁(setnx):setnx存入key如果存入成功返回1,如果key已经存在返回0,只要谁创建key成功,谁就能获取到锁。redis执行完操作的时候删除key释放锁,如果删除失败,就释放锁失败了。所以最好的办法是给key设置有效
阅读全文
摘要:AutoConfig加载 自己写代码加载 xml加载 使用这三种方式都需要: 1.添加依赖 2.写配置信息 spring.redis.database=0 spring.redis.host=localhost spring.redis.port=6379 # 连接超时时间 单位 ms(毫秒) sp
阅读全文
摘要:如果只需要整合redis的单机版,只需要在redis.conf中进行如下配置: @Configuration @PropertySource("classpath:config/redis.properties") public class RedisConfig { @Value("${redis
阅读全文
摘要:https://blog.csdn.net/plei_yue/article/details/7936237 需要的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter
阅读全文
摘要:1.String类型 用于在Redis中管理字符串的基本命令:(看了一半) 编号 命令 描述说明 1 SET key value 此命令设置指定键的值。 2 GET key 获取指定键的值。 3 GETRANGE key start end 截取指定部分的字符串。start可以从0开始。会包含在内,
阅读全文
摘要:1.Window和Linux系统下安装Redis: http://www.cnblogs.com/HoverM/p/9448699.html 2.Redis解压后目录: redis-server:redis服务器程序 redis-cli:Redis客户端程序,它是一个命令行操作工具。也可以使用tel
阅读全文
摘要:https://www.cnblogs.com/shamo89/tag/redis/
阅读全文
摘要:1.NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是SQL"的意思,泛指非关系型的数据库。强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。 NoSQL产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能。 2.R
阅读全文
摘要:主要参考:https://www.cnblogs.com/zxf330301/p/6534643.html
阅读全文
摘要:https://www.cnblogs.com/geek6/p/3951677.html https://blog.csdn.net/zhangerqing/article/details/8194653 https://www.cnblogs.com/malihe/p/6891920.html j
阅读全文
摘要:jdk8废除永久代迎来元空间。 永久带又叫Perm区,只存在于hotspot jvm中,并且只存在于jdk7和之前的版本中,jdk8中已经彻底移除了永久带,jdk8中引入了一个新的内存区域叫metaspace。 (1)并不是所有的jvm中都有永久带,ibm的j9,oracle的JRocket都没有永
阅读全文
摘要:1.什么是JVM?3W1H 定义: jvm是一个虚构出来的计算机,是在实际的计算机上仿真模拟出各种计算机的功能来实现的。 有什么用: Java语言最重要的特点就是跨平台运行,Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,使用JVM就是为了支持与操作
阅读全文
摘要:https://blog.csdn.net/jjwwmlp456/article/details/72771849
阅读全文
摘要:摘自:https://www.cnblogs.com/wangchuang/p/5737188.html 任务和线程的区别: 1、任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行。 2、任务跟线程不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线程池,但是任务
阅读全文
摘要:死锁: 可以认为是两个线程或进程在请求对方占有的资源。 饿死:一个线程在无限地等待另外两个或多个线程相互传递使用并且用不会释放的资源。 出现以下四种情况会产生死锁: 1,相互排斥。一个线程或进程永远占有共享资源,比如,独占该资源。 2,循环等待。例如,进程A在等待进程B,进程B在等待进程C,而进程C
阅读全文
摘要:Callable和Runnable很类似,主要区别在于Callable能返回运行结果,能抛出异常。 执行Callable方式,需要Future的实现类的支持,用于接收运算结果。FutureTask是Future接口的实现类。 public class TestCallable { public st
阅读全文
摘要:其他理解: 不应该只把它当作一个传参工具,它本身是为线程安全和某些特定场景的问题而设计的。 诡异的ThreadLocal最难琢磨的是“作用域”,尤其是在代码设计之初非常乱的情况下,假设再添加很多ThreadLocal。系统就会逐渐变成神龙见首不见尾的情况。使用ThreadLocal,不要简单粗暴地多
阅读全文
摘要:是什么:等工作来了就工作 为什么:启动线程是很花费时间的工作,ThreadPool将重复使用线程,资源再利用也作为主题之一。 1.用此模式时还可以如何优化: 1.1承载量(capacity): 简单来说就是worker与request的数量要如何去平衡。 worker多了,浪费内存,worker少了
阅读全文
摘要:通过此练习了解了线程中run()方法没有参数如何传参。 可以看出程序使用了匿名内部类。 尝试一: 以为不就是把Helper类extendsThread每次创建一个它然后启动吗。 碰到瓶颈1: 线程中没有带参数的run方法(如果想要实现带参数的run方法:1、定义线程内变量2、在继承thread的时候
阅读全文
摘要:一般可以把独立运行的程序看作一个进程,进程之间是相互独立存在的,像qq音乐,谷歌浏览器一样他们都是独立存在的,而且互不影响。 进程想要执行任务必须依赖于线程,进程中的最小执行单位是线程,进程中至少有一个线程。 进程与线程的最大区别在于内存能否共享:进程的内存空间是各种独立的,线程是共享内存的。 第二
阅读全文
摘要:概述:对每个命令或请求分配一个线程,由这个线程执行工作。 不像是一个有实权的将军,而像是一个传递消息的太监。 when: 原理进一步解析: 利用了调用方法与启动线程两个操作,实现“传送异步消息”的操作。 示例: 程序运行结果: request传个话就走了,不会等待响应结果而直接退出。 两个很重要的时
阅读全文
摘要:假设abcd在读ef在写,a关锁的时候bcd可以读,ef在等待中,a关完锁之后,e去写,bcd读不了了,bcd和f都在等待中。
阅读全文
摘要:https://blog.csdn.net/tanga842428/article/details/52789801 http://www.cnblogs.com/gongchengshidemeng/p/9420096.html https://www.cnblogs.com/shan1393/p
阅读全文
摘要:线程被interrupt的情况。 Before/After pattern模式 注:execute()是被synchronized的。 我以为被syn的方法内部没有改变,代码执行逻辑也没有改变,就不会有问题。 然而: 这道题答案与try有关,进入了try就一定会有finally 因为能改变四个变量的
阅读全文
摘要:定义: 当线程“读取”实例的状态时,实例的状态不会改变,因此可以被多个线程读取。而当写入的时候,实例的状态会改变,其他线程不可以进行读取或写入。 道理上如何实现: 用一个锁,读取的时候要获取读取的锁。写入的时候,要获取写入的锁。 优点: 一般来说,进行共享互斥会使程序性能变差,但将写入的共享互斥与读
阅读全文
摘要:—————————————————示例———————————————————————
阅读全文
摘要:Data类 SaverThread类 ChangerThread类 Main类 ———————————————————示例结束—————————————————— Balking Pattern的所有参与者(只有一个): 何时使用: 不需要刻意去执行的时候 不想等待警戒条件成立的时候 警戒条件只有第
阅读全文
摘要:定义: 当现在并不适合马上执行某个操作,要求想要执行该操作的线程等待。 Request:表示“请求”的类。 一个只有存放名字的类 private final String name;的get和set方法 RequestQuery:依次存放请求以待使用的类。 getRequest和putRequest
阅读全文
摘要:Immutable Pattern是指那些有着能够保证实例状态绝不会改变的类(immutable类),在访问这样的实例中,可以省去使用共享机制所会浪费的时间。如果能妥善使用可以提高程序性能。 思考成对的mutable类与immutable类【执行性能】 setter还是有被用到,可能是在:1.get
阅读全文
摘要:如果不使用Single Threaded Exception Pattern: 门类: 人类: main: 执行结果: 为什么会有broken(损坏): Gate是非线程安全的类。 测试并无法证明安全性,当测试次数不够、时间点不对就可能检查不到问题: 调试的消息也不可靠: 由多个人仔细阅读程序源代码
阅读全文
摘要:1.安全性 不损坏对象 2. 生存性 进行必要的处理,有时候会和安全性相驳。 3.复用性 可再利用类 4.性能
阅读全文
摘要:一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理解,但是真正理解并不是那
阅读全文
摘要:一执行wait方法,线程就会暂停操作,进入wait set休息室。 图解: 被notify唤醒的线程并不是在notify的一瞬间重新开始执行。因为执行notify的线程还握着锁定不放,所以其他线程无法获得该线程的锁定。 notifyAll是从waitset里拿出所有线程 wait、、notify、n
阅读全文
摘要:这是一个连续输出10000次的单线程。 多线程 多用于: CUI应用程序 比较花费时间的I/O处理 多个客户端 Thread类的Run方法和Start方法: 1. 意思是:没有一个入口,程序无法启动,必须要先启动一个主线程(如main),在调用run方法或者start方法。 2. 输出结果: 3.建
阅读全文
摘要:sleep()方法是线程类Thread的静态方法,调用该方法使线程暂停执行指定的时间,将CPU让给其他线程,并不释放所持有的对象锁,休眠时间结束后线程回到就绪状态。 wait()是Object类的方法,调用wait()方法,线程释放所持有的对象锁,进入等待池中,只有调用notify()方法(或者no
阅读全文
摘要:https://blog.csdn.net/qq_32252957/article/details/83305000 https://blog.csdn.net/jjwwmlp456/article/details/72771849
阅读全文
摘要:https://www.cnblogs.com/xrq730/p/5186609.html
阅读全文
摘要:为什么用线程池: https://blog.csdn.net/fengye454545/article/details/79536986 第一:降低资源消耗。 线程的创建和销毁的开销是巨大的。线程调度导致上下文切换也会有开销。并且一个系统所能够创建的线程总是受限于该线程拥有的处理器数目。 第二:提高
阅读全文
摘要:前面的笔记在本子上 接着: 操作阻塞队列和非阻塞队列的常用方法: 非阻塞: add remove offer:插入元素到队尾。返回true/false poll:移除并获取队首。返回元素/null peek:获取队首。返回元素/null add remove offer:插入元素到队尾。返回true
阅读全文
摘要:设计模式之——迭代器https://blog.csdn.net/Jae_Wang/article/details/80524295 贼贼好了吧:https://www.cnblogs.com/dolphin0520/p/3933551.html 迭代器是一种模式、详细可见其设计模式,可以使得序列类型
阅读全文
摘要:Map集合,HashMap,HashTable,ConCurrentHashMap,利用Iterator输出Map集合,自定义Map的key类型,TreeMap子类详解 (一):Map与Collection的比较 Collection集合的特点是每次进行单个对象的保存。 每次对一对对象进行保存用Ma
阅读全文
摘要:Set的典型实现:HashSet是无序、不重复的集合。 1.HashSet: 无序、不重复 不是线程安全的 值可以为null 其底层其实是一个数组,存在的意义是加快查询速度。我们知道在一般的数组中,元素在数组中的索引位置是随机的,元素的取值和元素的位置之间不存在确定的关系,因此,在数组中查找特定的值
阅读全文
摘要:参考博客:https://www.cnblogs.com/ysocean/p/6555373.html 集合类和数组不同,数组元素可以为基本数据类型值/对象引用,集合元素只能为对象引用。 Java中的集合有两大类,分别是:Collection、Map。 Collection类的集合可以理解为主要存放
阅读全文
摘要:按某一个时间来分组统计 DATE_FORMAT(t.`create_time`, '%Y-%m-%d %H')按小时 MID(l.Create_Time,1,10)第一个数字从一开始代表起始截取数,第二个数字代表结束数 对比某一段时间内,某一小时的下订单数量,查还是精确到小时查出来,分组是精确到小时,排序先按h,再按ymdh SELECT DATE_FORMAT(t.`create_ti...
阅读全文
摘要:实体 可以是有形的事物,如人或产品,也可以是无形的事物,如商业贸易、公司部门或发薪周期。 实体一般是名词,一个实体只描述一件事情,不能重复出现含义相同的实体。 严格地说,实体指表中特定数据,但在开发中,我们也常常把一个表称为一个实体。 一对一:汽车与车位 一对多:一个客房多个客人 多对一:客人实体和
阅读全文
摘要:存储过程调用或接受另一存储过程返回的游标数据(Sys_refcursor类型) https://blog.csdn.net/tang_xiao_dong/article/details/54605707 https://www.2cto.com/database/201406/309939.html
阅读全文
摘要:怎么查看数据文件: H:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF H:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF H:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DB
阅读全文
摘要:CHAR:固定长度1-2000 VARCHAR2:可变长度1-4000 NCHAR:国家字符集,双字节字符数据。NCHAR(1)插入‘的’会异常。 NUMBER(p,s)p为精度,s为小数点右边数字的位数。 CLOB:大量字符数据,非结构化的xml文档 BLOB:较大的二进制对象,如图形、视频剪辑、
阅读全文
摘要:如何在建表时指定主键和外键 在建立表格时就指定主键和外键:create table T_STU (STU_ID char(5) not null,STU_NAME varchar2(8) not null,constraint PK_T_STU primary key (STU_ID));主键和外键
阅读全文
摘要:Statement、PreparedStatement、CallableStatement都是接口 Statement继承自W'ra
阅读全文
摘要:是一种特殊的存储过程,不由用户直接调用,它在指定的表中的数据发生变化时自动生效。 唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。他可以查询其它表,并可以包含复杂的Transact-SQL语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例
阅读全文
摘要:主要参考博客:https://blog.csdn.net/yu757371316/article/details/81081669 在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。 MySQ
阅读全文
摘要:InnoDB: 支持事务处理等 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和索引存放在表空间里面 跨平台可直接拷贝使用 InnoDB中必须包含AUTO_INCREMENT类型字
阅读全文