自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 io字节字符流

因为我们做操作的java对象可能需要在多台计算机之间传递。序列化-----将一个java对象转换成2进制流数据过程。反序列化—2进制流数据转换成一个java对象的过程。

2022-08-17 18:15:07 201 1

原创 io输入输出流

输出流—将我们程序处理以后的数据写出到某一个文件中所形成的数据的流动轨迹就是输出流【写出数据】由于所有的数据都可被换算成字节,所以字节流是可以读写任何类型的数据 【文本,视频,音频,图片】输入流—将数据读取到我们的处理程序中所形成的数据的流动轨迹就是输入流【读取数据】我们要想通过java提供的输入输出流读写文件中的内容就得先学会操作文件。字符流—每一次读写一个字符【16位2进制】的数据量的流【字符流】字节流—每一次读写一个字节【8位2进制】的数据量的流【字节流】IO流用来读写文件的内容。...

2022-08-16 18:04:27 249

原创 集合的基本用法

因为ArrayList是动态数组结构,他在查找第一个元素和最后一个元素的时很麻烦,而LinkedList采用的是双向链表结构,这种结构在查找第一个元素和最后一个元素的时候是最快的。HashTable里使用的是synchronized关键字,这其实是对对象加锁,锁住的都是对象整体,当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。键值对结构的数据—就是一个完成的数据是由键和键所对应的值组合而成的数据。不能有重复的键,重复的键被算作是一个数据。...

2022-08-15 18:13:20 257

原创 什么是接口

接口回调对象可以调用被子类重写的抽象方法,但是不能调用子类自己的定义的变量和方法,如果一定要调用子类自己的定义的变量和方法,那么就需要将接口回调对象强制类型转换成子类对象。3.普通的类去实现一个/多个接口,就需要将每一个接口中的抽象方法重写,否则就需要将这个普通的类改成抽象类.7.当某一个普通的java类中的方法参数是接口类型的时候,可以传递接口回调对象,也可以是接口的子类对象。5.接口可以继承接口,并且可以继承父接口中的所有元素.//接口可以继承接口,并且可以继承父接口中的所有元素。...

2022-08-11 10:20:21 213

原创 什么是抽象类

7.当某一个普通的java类中的方法参数是抽象类类型的时候,可以传递上转型对象,也可以是抽象类的子类对象。2.普通的java类继承了抽象类,就需要重写抽象类中的抽象方法,否则将这个普通的java类改成抽象类。5.抽象类对象可以访问抽象类中的实例变量、类变量、构造方法、实例方法、类方法、【抽象方法】。抽象类中的元素实例变量、类变量、构造方法、实例方法、类方法、【抽象方法】。6.抽象类对象访问抽象方法时候实际上访问的是子类重写以后的抽象方法。3.抽象类可以继承其他的抽象类,可以不用重写抽象方法。...

2022-08-09 18:23:03 7173

原创 微服务负载均衡器Ribbon

微服务负载均衡器Ribbon1.什么是Ribbon目前主流的负载方案分为以下两种:集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超 时,重试等。通过Load Balancer获取到服务提供的所有机

2022-08-08 17:50:47 120

原创 继承的详解

子类对象创建—需要依赖于子类的构造方法,子类的构造方法中会默认调用父类的构造方法【没有父就没有子】,如果一定要强制访问调用父类有参数的构造方法,就需要在子类的构造方法中的第一行通过“super(参数值)”,就可以指定调用父类的任意一个构造方法。Java类中的方法---------public,protected,default【缺省的/友好的】,private。public【公共的】/protected【受保护的】/default【缺省的/友好的】/private【私有的】import 包名+类名/*;..

2022-08-08 17:17:48 79

原创 java中的变量、方法

在同一个类中成员变量与某一个方法中的局部变量的名称相同,这是我们在方法中使用这个成员变量的时候,得到的结果是局部变量的值,此时就是方法中的局部变量将类中成员变量的值隐藏了,这就是成员变量的隐藏。public static void test3(int a){ } ---- 没有返回值,有参数1个int型参数的静态方法【类方法】}—返回值为int,没有参数的静态方法【类方法】public void test3(int a){ } ---- 没有返回值,有参数1个int型参数的实例方法。...

2022-08-05 23:08:16 421

原创 类型转换、常用运算符

1.char---->int [[隐式数据类型转换【自动数据类型转换】]]2.int---->char[[显式数据类型转换【强制数据类型转换】]]隐式数据类型转换【自动数据类型转换】不需要修改程序,直接赋值即可完成。位运算:就是将参与运算的数据转换成2进制【0101001】3.^ 按位异或 相同位不同则为1,相同则为0。2.| 按位或 相同位只要一个为1即为1。6.>>右移 2进制整体向右移动指定的位数。1.& 按位与 相同为1,不同为0。0000 0000 移动2位 — 0。char与int的转换。.

2022-08-02 18:26:40 448 1

原创 java中的数据类型

2022-08-01 13:05:56 304

原创 辨析覆盖索引/索引覆盖/三星索引

辨析覆盖索引/索引覆盖既然多个列可以组合起来构建为联合索引,那么辅助索引自然也可以由多个列组 成。 覆盖索引也是我们经常见到的名词,InnoDB存储引擎支持覆盖索引(coveringindex,或称索引覆盖),即从辅助索引中就可以得到查询的记录,而不需要查询聚集索引中的记录。使用覆盖索引的一个好处是辅助索引不包含整行记录的所有信 息,故其大小要远小于聚集索引,因此可以减少大量的IO操作。所以记住,覆盖索 引可以视为索引优化的一种方式,而并不是索引类型的一种。 除了覆盖索引这个概念外,在索引优化的范围内,

2022-07-27 10:26:44 417

原创 InnoDB中的索引

InnoDB中的索引InnoDB中的索引是按照B+树来组织的,我们知道B+树的叶子节点用来放数据的,但 是放什么数据呢?索引自然是要放的,因为B+树的作用本来就是就是为了快速检索数据 而提出的一种数据结构,不放索引放什么呢?但是数据库中的表,数据才是我们真正需 要的数据,索引只是辅助数据,甚至于一个表可以没有自定义索引。InnoDB中的数据到 底是如何组织的?聚集索引/聚簇索引 InnoDB中使用了聚集索引,就是将表的主键用来构造一棵B+树,并且将整张表的行 记录数据存放在该B+树的叶子节点中。也就是所

2022-07-27 10:10:13 964

原创 范式及反范式

*范式来自英文NormalForm,简称NF。MySQL是关系型数据库,但是要想设计—个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级比一级要求得严格。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。目前关系数据库有六种范式反范式设计什么叫反范式化设计?实际工作中的反范式实现。...

2022-07-22 16:56:54 2249

原创 深入理解MVCC与BufferPool缓存机制

更新内存的性能是极高的,然后顺序写磁盘上的日志文件的性能也是非常高的,要远高于随机读写磁盘文件。,该视图在事务结束之前都不会变化**(如果是读已提交隔离级别在每次执行查询sql时都会重新生成)**,这个视图由执行查询时所有未提交事务id数组(数组里最小的id为min_id)和已创建的最大事务id(max_id)组成,事务里的任何sql查询结果需要从对应版本链里的最新数据开始逐条跟read-view做比对从而得到最终的快照结果。,当事务开启,执行任何查询sql时会生成当前事务的。...

2022-07-22 16:36:16 126

原创 深入理解Mysql事务隔离级别与锁机制

深入理解Mysql事务隔离级别与锁机制

2022-07-19 11:31:36 314

原创 VUE组件的基本使用

什么是组件化?◼ 我们将一个完整的页面分成很多个组件。◼ 每个组件都用于实现页面的一个功能块。◼ 而每一个组件又可以进行细分。◼ 人面对复杂问题的处理方式:◼ 任何一个人处理信息的逻辑能力都是有限的◼ 所以,当面对一个非常复杂的问题时,我们不太可能一次性搞定一大堆的内容。◼ 但是,我们人有一种天生的能力,就是将问题进行拆解。◼ 如果将一个复杂的问题,拆分成很多个可以处理的小问题,再将其放在整体当中,你会发现大的问题也会迎刃而解。◼ 组件化也是类似的思想:◼ 如果我们将一个页面中所有的处理

2022-05-25 16:30:49 1802

原创 vue基础语法

Mustache◼如何将data中的文本数据,插入到HTML中呢?◼我们已经学习过了,可以通过Mustache语法(也就是双大括号)。◼Mustache: 胡子/胡须.◼我们可以像下面这样来使用,并且数据是响应式的v-once◼但是,在某些情况下,我们可能不希望界面随意的跟随改变◼这个时候,我们就可以使用一个Vue的指令◼v-once:◼该指令后面不需要跟任何表达式(比如之前的v-for后面是由跟表达式的) ◼该指令表示元素和组件(组件后面才会学习)只渲染一次,不会随着数据的改变而改变。

2022-05-24 11:10:17 272

原创 邂逅vue

邂逅vue简单认识Vuejs◼Vue (读音 /vjuː/,类似于 view),不要读错。◼Vue是一个渐进式的框架,什么是渐进式的呢?◼渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。◼或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。◼比如Core+Vue-router+Vuex,也可以满足你各种各样的需求。◼Vue有很多特点和Web开发中常见的高级功能◼解耦视图和数据◼可复用的组件◼前端路由技术◼状态管理◼虚拟DOM◼

2022-05-23 10:42:49 116

原创 Spring Data JPA --- 审计,Repository原理

乐观锁hibernate 防并发修改private @Version Long version;审计如何使用审计功能首先申明实体类,需要在类上假上注解 @EntityListeners(AuditingEntityListener.class) ,其次在application 启动类中加上注解 EnableJpaAuditing , 同时在需要的字段上加上 @CreatedDate 、 @CreatedBy 、 @LastModifiedDate、@LastModifiedBy等注解。 这个时

2022-05-23 00:30:00 542

原创 Spring Data JPA ---多表关联

多表关联操作 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> </dependency>一对一客户表 —> 老婆表客户表 —> 账户表…实现:@OneToOne

2022-05-22 03:30:00 640

原创 Spring Date JPA -自定义操作(Querydsl)

Querydslhttps://querydsl.com/ QueryDsl文档QueryDSL是基于ORM框架或SQL平台上的一个通用查询框架。借助QueryDSL可以在任何支持的ORM框架或SQL平台上以通用API方式构建查询。 JPA是QueryDSL的主要集成技术,是JPQL和Criteria查询的代替方法。目前QueryDSL支持的平台包括 JPA,JDO,SQL,Mongodb 等等。。。Querydsl扩展能让我们以链式方式代码编写查询方法。该扩展需要一个接口QueryDslPred

2022-05-21 15:30:00 891

原创 mybats-puls---条件构造器Wrapper,插件扩展,SQL注入器,公共字段填充

条件构造器Wrapper(看官网即可)代码生成器AutoGenerator 是 MyBatis­Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块 的代码,极大的提升了开发效率。其实在学习mybatis的时候我们就使用过逆向工程,根据我们的数据表 来生成的对应的实体类,DAO接口和Mapper映射文件,而MyBatis­plus提供了 更加完善的功能,下面来针对两种方式做一个基本的对

2022-05-20 17:27:21 460

原创 mybatis-puls处理crud

简单的CRUD操作如果我们下面要实现CRUD的基本操作,那么我们该如何实现呢? 在Mybatis中,我们需要编写对应的Dao接口,并在接口中定义相关的方法,然后提供与该接口相同名称的Dao.xml文件,在文件中填写对应的sql语句,才能完成对应的操作在Mybatis­plus中,我们只需要定义接口,然后继承BaseMapper 类即可,此前做的所有操作都是由Mybatis­plus来帮我们完成,不需要创建sql映 射文件EmpDao.java1、插入操作MyTest.javapublic

2022-05-20 17:17:53 190

原创 mybatis­plus的使用

mybatis­plus的使用MyBatis­Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝 般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向 对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少 量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各 类使用需求支持

2022-05-20 17:04:45 440

原创 Spring Date JPA -自定义操作[Query by Example,Specifications]

自定义操作jpql(原生SQL)a.@Queryi. 查询如果返回单个实体 就用pojo接收 , 如果是多个需要通过集合 ii. 参数设置方式索引 : ?数字具名: :参数名 结合@Param注解指定参数名字iii. 增删改:要加上事务的支持:如果是插入方法:一定只能在hibernate下才支持 (Insert into…select )@Transactional // 通常会放在业务逻辑层上面去声明@Modifying // 通知springdatajpa 是增删改的操作

2022-05-20 11:30:00 206

原创 消息中间件解决方案JMS

消息中间件解决方案JMS1.什么是消息中间件消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者/发送者)、Consumer(消费者/接收者),主要作用是改善系统模块调用关系、减少模块之间的耦合。常见的消息中间件产品:(1)ActiveMQActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。Active

2022-05-19 16:24:31 265

原创 Redis

Redis1.为什么要学习Redis?当我们的系统引入了传统的缓存框架,比如(ehcache),因为ehcache等框架只是一个内置的缓存框架,所以前端的缓存和后台的(每一个web server)的缓存都是独立存在的,假如一个缓存中的数据发生了更新,其他缓存是不可能知道的,这样对于乐观锁,总会提示失败。2.出现上面的问题我们需要如何解决?解决方法有两个:1.同步缓存数据【在分布式环境下,缓存是不能同步】2.让缓存集中处理(大家使用同一个缓存服务)。就是说我们需要一个类似于MYSQL这样可以通过服

2022-05-19 15:17:28 891

原创 Spring Data Repositories

使用Spring Data RepositoriesCrudRepository// 用来插入和修改 有主键就是修改 没有就是新增 // 获得插入后自增id, 获得返回值 <S extends T> S save(S entity); // 通过集合保存多个实体 <S extends T> Iterable<S> saveAll(Iterable<S> entities); // 通过主键查询实体 Optional<T&gt

2022-05-19 08:45:00 128

原创 处理密码的算法

package cn.com.yunguangche.common;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Random;import java.util.stream.Collectors;public class TurlKeyHelper { public TurlKeyHelper() { setSeq("mUE3fSJge

2022-05-18 10:10:37 89

原创 Spring Date JPA

介绍官网:https://spring.io/projects/spring-data-jpa#overviewSpring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data access layers. It makes i

2022-05-18 08:30:00 249

原创 stuts批量导入

//下载 货代填写价格 模板 public void doDownloadHuoDaiPrice(){ try { hyMonthInquiryList = new ArrayList<HyMonthInquiryFO>(); //设置货代编码 queryData.setGoodsAgentCode(super.getUserContext().getOrgaId()); DboList hyMonthInquirysBj = getHyMonthInquir..

2022-05-18 00:45:00 57

原创 根据年月拼接

public synchronized String getNextBatchNo() throws Exception { String sql = ""; String no = "001"; String monthSql = ""; Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; if(month <

2022-05-17 17:04:11 144

原创 ext实现动态列表

ext页面<%@ page language="java" contentType="text/html;charset=UTF-8"%><%@ include file="/common/taglibs.jsp"%><%String path = request.getContextPath();%><% int huoDaiNum =(Integer) request.getAttribute("huoDaiNum");%><

2022-05-17 16:55:55 396

原创 SpringBoot+SpringData Jpa

依赖: <!--data-jpa的场景启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependenc

2022-05-17 15:43:41 298

原创 Spring Date JPA - Hibernate与JPA

Hibernate与JPA所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。也就是说: JPA是一套ORM规范,Hibernate实现了JPA规范!mybatis:小巧、方便?、高效、简单、直接、半自动 半自动的ORM框架,小巧: mybatis就是jdbc封装 在国内更流行。场景: 在业务比较复杂系统进行使用,hibernate:强大、方便、高效、(简单)复杂、绕弯子、全自动 全自动的ORM框架,强大:根据ORM映射生成不同SQL 在国外更流。场景: 在业务相对

2022-05-17 08:00:00 155

原创 Spring Date JPA - 什么是JPA

什么是JPA?相同处:1.都跟数据∙库操作有关,JPA 是JDBC 的升华,升级版。2.JDBC和JPA都是一组规范接口3.都是由SUN官方推出的不同处:1.JDBC是由各个关系型数据库实现的, JPA 是由ORM框架实现2.JDBC 使用SQL语句和数据库通信。 JPA用面向对象方式, 通过ORM框架来生成SQL,进行操作。3.JPA在JDBC之上的, JPA也要依赖JDBC才能操作数据库。JDBC是我们最熟悉的用来操作数据库的技术,但是随之而来带来了一些问题: 1. 需要面

2022-05-16 15:35:12 87

原创 spring源码及相关面试题

1、什么是Spring框架,Spring框架主要包含哪些模块Spring是一个开源框架,Spring是一个轻量级的Java 开发框架。它是为了解决企业应用开发的复杂性 而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用 程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的 用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受 益。S.

2022-05-16 15:15:11 773 1

原创 雪花算法原理

雪花算法保证:1.所生成的ID按时间递增2.整个分布式系统不会有重复的ID雪花ID的组成不用:1bit,因为最高位是符号位,0表示正,1表示负,所以这里固定为0时间戳:41bit,服务上线的时间毫秒级的时间戳(为当前时间-服务第一次上线时间),这里为(2^41-1)/1000/60/60/24/365 = 49.7年工作机器id:10bit,表示工作机器id,用于处理分布式部署id不重复问题,可支持2^10 = 1024个节点序列号:12bit,用于离散同一机器同一毫秒级别生成多条Id时,可

2022-05-16 15:00:00 219

原创 springboot多数据源使用

多数据源一、多数据源的典型使用场景在实际开发中,经常可能遇到在一个应用中可能需要访问多个数据库的情况。以下是两种典型场景:1 业务复杂(数据量大)数据分布在不同的数据库中,数据库拆了, 应用没拆。 一个公司多个子项目,各用各的数据库,涉及数据共享…2 读写分离为了解决数据库的读性能瓶颈(读比写性能更高, 写锁会影响读阻塞,从而影响读的性能)。 很多数据库拥主从架构。也就是,一台主数据库服务器,是对外提供增删改业务的生产服务器;另一(多)台从数据库服务器,主要进行 读的操作。可以通过中间件(

2022-05-16 14:07:46 5602 2

原创 spring cloud面试题

1、什么是 Spring Cloud ?Spring cloud 流应用程序启动器是 于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。2、使用 Spring Cloud 有什么优势?使用 Spring Boot 开发分布式微服务时,我们面临以下问题(1)与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。(2)服务发现-服务发现工具.

2021-04-02 09:24:44 886

08-11-17_22_13.mp4

eclipse.exe --应用的操作方法,配置运行环境,编译环境,新建包,设置字体大小,编写代码,运行,以及在其实进行练习,java中的,方法对象,

2020-08-11

空空如也

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

TA关注的人

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