- 博客(35)
- 资源 (6)
- 收藏
- 关注
原创 数据库优化
数据库优化分为四部分:1.数据库优化2.SQL语句进行优化3.业务逻辑进行优化4.冷备份和热备份1.数据库方面:分库:分库就是将一些数据量大的按照不同的库来存。将经常不改变的放到redis中,日志文件放到MongoDB数据库中分区:在一张表上进行的分区,有一个弊端就是表上需要建立分区索引,这个时候当查询的时候直接通过表的索引会造成全表锁,这样有点得不偿失。分表:水平分表:...
2019-11-28 16:16:45 329
原创 电商中的三层缓存架构
在乐优商城中,在访问商品详情页中使用了三层缓存架构。redis,nginx,ehcache,三层缓存1.当消息访问*(请求来了)时,请求进入nginx*(路由转发)**中,这个nginx有着流量分发的功能。这个时候就需要将商品详情页显示出来。2.上一个nginx将请求分发到应用层的nginx。 静态页面是在这个nginx中进行动态渲染和存储的,渲染方式使用的是nginx+lua脚本。...
2019-11-28 16:15:44 399
原创 sql面试题(学生表_课程表_成绩表_教师表)
请书写下面的SQL语句:Student(Sid ,Sname,Sage,Ssex)学生表(学号,学生姓名,年龄,性别)Course(Cid,Cname,Tid)课程表(课程编号,课程名,教师id)SC(Sid,Cid,Score)成绩表(学号,课程编号,成绩)SumTeacher(Tid,Tname)教师表(教师编号,教师名字)1.查询平均成绩大于60分的学生的学号和平均成绩selec...
2019-10-14 22:18:31 1536
原创 数据库面试
假设,教学数据库中存在以下三个基本表:S(S#,SNAME,AGE,SEX)学生表(学生,姓名,年龄,性别)SC(S#,C#,GRADE) 学生和课程关系表(学号,课程号,成绩)C(C#,CNAME,TEACHER)课程表(课程号,课程名称,老师)问题一:检索学习课程号为C2的学生学号和姓名SELECT S.S#,SNAME FROM S,SC WHERE S.S#=SC.S# ...
2019-10-14 21:29:51 697
原创 abstract class和interface区别
一般来说:1.被abstract关键字修饰的class即为抽象类。抽象类中不能创建实例对象,含有抽象方法的抽象类必须定义为 abstract class。抽象类中不一定有抽象方法,但是存在抽象方法的类一定是抽象类。2.接口可以说是一种特殊的抽象类,接口中所有的方法必须是抽象的,接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static fi...
2019-10-10 10:41:24 195
原创 Java中线程的实现方式四种
Java中线程的实现方式四种 其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法 start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方法实现多线程很...
2019-09-24 20:13:10 150
原创 String,StringBuffer,StringBuilder
String 字符串常量 不可变 使用字符串拼接时是2个空间StringBuffer 字符串常量 可变 线程安全 字符串拼接是直接在字符串后追加StringBuilder字符串常量 可变 线程不安全 字符串拼接是直接在字符串后追加执行效率:StringBuilder》StringBuffer》String ----(线程不安全的效率一般高于线程安全)String是一个常量,是不可变的,所...
2019-09-24 20:12:03 143
原创 Java中线程的实现方式四种
Java中线程的实现方式四种 1、继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法 start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方法实现多线程很简单。通过自己的类直接继承Thread类,并复写run()方法,就可以启...
2019-09-23 20:33:21 204
原创 悲观锁和乐观锁
悲观锁和乐观锁: 锁从宏观上来说分为:悲观锁和乐观锁 乐观锁:就是一种乐观的思想,就是主观上认定读多写少: 1:遇到并发写的可能性低 2:认为每次去拿数据的时候,都认为别人不会修改,所以就不会加锁 3.但是在每次更新操作时,会判断一下在此期间别人有没有更新数据 4.采取的是写时先读出当前版本号,然后加锁操作,如果和上次版本号一致,就更新 5.如...
2019-09-23 20:30:08 160
原创 数据库事务
数据库事务原子性:Atomicity [,ætə’mɪsɪtɪ]、 一致性:Consistency [kən’sɪst(ə)nsɪ]隔离性:Isolation [aɪsə’leɪʃ(ə)n]、持久性 :Durability [djʊrə’bɪləti]原子性:在我理解看来是,事务中各项操作,要么全部成功要么全部失败。很有江湖义气一说,同生共死。一致性:我理解的是更侧重结果,事务结束后系统状...
2019-09-17 19:43:12 148
原创 哪种情况下适合创建索引
数据库索引:MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。-----》索引本质是数据结构----》排好序的快速查找的数据结构。优势: 类似大学图书馆建书目索引,提高数据检索的效率,降低了数据库IO成本通过索引对数据排序,减低数据排序的成本,降低了CPU的消耗劣势:虽然索引大大的提高了查询速度,同时却会降低更新表的速度,如每次对表进行INS...
2019-09-16 20:12:56 2351
原创 打印日志
static final Logger logger = LoggerFactory.getLogger(UserService.class);try {HashMap<String, String> map = new HashMap<>();map.put(“phone”,phone);map.put(“code”,code);this.amqpTemplat...
2019-09-11 11:43:05 175
原创 java面试:写一个单例Singleton实例
java面试:写一个单例Singleton实例1.什么是singleton?Singleton:在Java中是指单例设计模式,他是软件开发中最常见的设计模式之一单例设计模式:即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。2.要点一是某个类只能有一个实例;构造器私有化二是他必须自行创建这个实例;含有一个该类的静态变量来保存这个唯一实例三是他必须自行向整个系统...
2019-09-10 20:40:24 611
原创 spring中application.yml中配置忽略json中的空值
spring中application.yml中配置忽略json中的空值spring: jackson: default-property-inclusion: non_null #配置json处理时忽略空值
2019-09-04 20:56:02 554
原创 Spring Data Elasticsearch
Elasticsearch在spring中的使用方法实体类及注解:package com.nc.es.pojo;import org.springframework.data.annotation.Id;import org.springframework.data.elasticsearch.annotations.Document;import org.springframewor...
2019-09-03 19:12:05 228
原创 Kibana的使用
1.什么是Kibana?Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。2.操作索引2.1.基本概念Elasticsearch也是...
2019-09-02 20:40:03 949
原创 前端传参方式与spring mvc接收参数方式
get请求的headers中没有content-type这个字段,get请求的参数在url的?后面,请求参数是Query String Parameters;Spring MVC使用注解:@RequestParam来接受参数我们目前常见的post请求的content-type有以下两种Content-Type: application/x-www-form-urlenco...
2019-08-30 20:20:00 292
原创 16个通用高效 Java 工具类总结
16个通用高效 Java 工具类总结一. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换IO流、 Uri、 byte[]为Stringcopy:IO流数据复制,从输入流写到输出流中,最大支持2GBtoByteArray:从输入流、URI获取b...
2019-08-29 21:31:08 290
原创 @PathVariable,@RequestParam,@RequestBody小结
1.@PathVariable当从前端传输的URL是 http://路径/参数 的时候要使用@PathVariable注解接收参数代码样式@GetMapping("groups/{cid}") public ResponseEntity<List<SpecGroup>> queryGroupsByCid(@PathVariable("cid")Long...
2019-08-28 20:28:32 242
原创 Java中的String有没有长度限制?
String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西容易被忽略的。就如本文我们要讨论的问题:Java中的String有没有长度限制?这个问题要分两个阶段看,分别是编译期和运行期。不同的时期限制不一样。编译期首先,我们先来合理的推断一下,当我们在代码中使用String s = “”;的形式来定义Str...
2019-08-27 22:07:56 365
原创 SpringBoot注解大全
SpringBoot注解大全一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring...
2019-08-26 22:56:33 169
原创 hystrix的小总结
hystrix 1.pom文件中添加依赖: spring-cloud-starter-netflix-hystrix 2.在启动类上,添加@EnableCircuitBreaker注解 3.在需要降级的方法上加上注解:@HystrixCommand(fallbackMethod="queryByIdfallback") 其中queryByIdfallback是服务降级的方法...
2019-08-24 20:27:43 189
原创 Eureka学习
Eureka 1.eureka server 使用: 1.引用spring-cloud-starter-netflex-eureka-server 2.配置端口 3. register-with-eureka: false #不向注册中心注册自己 fetch-registry: false #不向注册中心拉取服务列表 4.调优 ...
2019-08-24 10:43:35 143
原创 mybatis通用Mapper的简单使用
//SELECT id,user_name,password,name,age,sex,birthday,created,updated FROM t_user WHERE ( age=? ) 根据年龄就行查询 @Test public void test1(){ User user = new User(); user.setAge(28);...
2019-08-21 17:03:04 329
原创 Mysql报错2005
当你的MySQL报错的时候,先检查一下自己数据库是否是使用localhost进行连接的。如果你的网络没有连接,自己的主机不解析localhost所以才会报错。一般情况下,将电脑的网连接就可以了...
2019-07-19 21:28:53 730
原创 力扣1.两数之和
本人是Java小白,目前在学习Java就找到了力扣网站学习算法。力扣第一题:两数之和题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums...
2019-07-15 19:34:52 273
原创 final的关键字
Java基础学习final关键字是Java学习中需要掌握的关键字。final在Java中是存在4种使用方法:修饰类,修饰方法,修饰方法参数和修饰数据。final关键字在整个Java编码中是“不可改变”的存在。我老师形容它是灭绝师太。1.修饰类被final关键字修饰的类,是不可以被继承的。2.修饰方法final关键字修饰方法,它表示该方法不能被覆盖。这种使用方式主要是从设计的角度考虑,即...
2019-07-14 20:52:36 187
原创 toString方法的重写
toString方法在JavaAPI中是返回该对象的字符串表示。当你在类中没有定义toString方法,Java虚拟机会自动创建一个toString方法。package com.baidu.demo1;import java.util.Objects;public class User { private String name; private int age;/...
2019-07-13 10:59:46 1465
原创 基于Hystrix的spring boot的容错机制
基于Hystrix的spring boot的容错机制摘要:在系统服务中,会存在因为过多的用户请求从而引发出系统崩溃的现象,为了防范这种现象的产生在系统服务中引入了容错机制。在微服务架构系统服务中,为了防止产生系统崩溃现象,在spring boot中加入了Hystrix的容错组件。Hystrix是一个实现超时机制和断路器模式的工具类库。当架构中的某一组件发生故障时,Hystrix组件通过断路器等一...
2019-06-27 11:37:03 914
原创 便签
程序结构数据库和表程序设计和实现1)新建便签:主界面新建在这里插入代码片<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignP...
2019-06-27 11:19:45 403 5
原创 leetcode-爬楼梯
动态规划-爬楼梯1.动态规划的原理与本质(全局最优,局部不定)动态规划算法是按照阶段将原问题分解为一个一个的状态,当前状态将由上一次的状态利用状态转移方程推导出,动态规划主要需要抓住三个关键词:阶段、状态和状态转移方程。(1)、全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解;(2)、动态规划的关键是状态转移方程,即如何由以求出的局部最优解来推...
2019-05-05 10:53:50 209
原创 简单的学生管理系统
简单的学生管理系统1.创建Student类,定义name和age方法Student:package com.Student;public class Student { //定义两个私有化属性 name age private String name; private int age; public String getName() { ...
2019-05-04 21:07:00 332
原创 Java基础之封装
Java基础之封装在Java中,我们已知的有三大特性封装,继承和多态。我简单的写一下我对封装的一些理解。————————————————————————————————————————————————————————所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用 private 关键字来修饰,私有属性只能在它所在的类中被访问。为了能让外界访问私有属性,需要提供一些使用 publi...
2019-05-03 21:27:58 709
mybatis与spring整合全部jar包(包括springmvc).rar
2019-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人