- 博客(72)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 Mysql相关面试题
通俗的讲就是,如果索引的列在 select 所需获得的列中(因为在 mysql 中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select 所需获得列中有大量的非索引列,索引就需要到表中找到相应的列的信息,这就叫回表。假设,现在我们要查询出 id 为 2 的数据。那么执行 select * from xttblog where ID = 2;这条 SQL 语句就不需要回表。
2023-03-22 15:38:18
446
转载 MySQL索引-B+树
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结
2021-03-25 17:25:16
137
转载 Kafka原理详解
简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横...
2019-09-09 15:15:10
1029
原创 Hive配置属性
Hive配置属性原文路径:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-HiveConfigurationPropertiesHive配置属性 查询和DDL执行 SerDes和I / O. 串行解串器 I / O ...
2019-09-05 14:50:30
1229
原创 Spark2.3.2 Configuration 参数配置
SPARKConfiguration 参数配置表,有能力的请直接看原文http://spark.apache.org/docs/2.3.2/configuration.htmlSpark Streaming名称 默认 含义 spark.streaming.backpressure.enabled false 启用或禁用Spark Streaming的内部背...
2019-09-04 16:24:59
869
转载 java获取资源文件(Java中获取资源文件的url)
java开发中,常见的resource文件有:.xml,.properties,.txt文件等,后台开发中经常用到读取资源文件,处理业务逻辑,然后返回结果。获取资源文件的方法说明getResource()返回:URL getResourceAsStream () 返回的是inputstream,需要定义一个InputStream接收 ...
2019-07-08 20:22:21
4393
原创 springboot全局日期格式化
springboot全局日期格式化有两种方式springboot全局日期格式化有两种方式方式一是配置参数参数配置的方式就是在json序列化的时候,当字段为日期类型的时候的format类型,就相当于在所有日期字段上加了一个注解@JsonFormat(shape = JsonFormat.Shape.STRING, pat...
2019-06-06 10:44:43
12062
2
原创 spark读取hive
spark读取hive是最简单的,构造一个sparksession对象,直接执行SQL就得读取,然后直接insert就能写入。因为spark客户端配置了你的hive数据库的信息,所以能够直接读取hive数据库。spark = SparkSession .builder() .appName("Java Spark SQL b...
2019-02-26 10:55:37
2039
原创 spark操作MySQL
spark读取MySQL就是通过最简单的jdbc实现读取和写入的,操作起来十分方便。但是在实际的项目当中,如果你有频繁的操作MySQL的话,建议最好加上连接池,不然速度会很慢。这里只是spark链接MySQL的入门,没有加上连接池的代码,后续会更新。MysqlAdapter类如下:package com.test.mysql;import org.apache.commons...
2019-02-26 10:33:59
972
原创 Spark中转换jsonString数据为Dataset
Spark中想把读取到的JsonString类型数据转化为DataSet只需要通过一步就行SparkSession spark = SparkSession.builder().getOrCreate();JavaRDD<String> stringJavaRDD = json类型的string;Dataset<Row> row = spark.sqlContext...
2019-02-18 20:41:30
2072
1
原创 Streaming 读取Kafka 保存OFFSET到kafka
Streaming 读取Kafka 实现断点续读功能老版本的kafka比较麻烦,streaming提供的只有checkpoint方法实现断点续读功能,但是当修改程序之后就没法平滑部署。因为checkpoint存储的是整个streaming启动类的序列化文件,当文件改动之后没法反序列化了。所以需要更好的方法来实现读取Kafka 实现断点续读功能。本文主要讲解的就是通过zookeeper保...
2019-02-18 18:27:31
650
转载 Hive字符串常用函数
Hive内部提供了很多操作字符串的相关函数,本文将对其中部分常用的函数进行介绍。下表为Hive内置的字符串函数,具体的用法可以参见本文的下半部分。返回类型 函数名 描述 int ascii(string str) 返回str第一个字符串的数值 string base64(binary bin) 将二进制参数转换为base64字符串 strin...
2019-01-12 14:39:03
572
原创 Spark读取HDFS或者AFS等文件系统文件
Spark读取HDFS或者AFS等文件系统文件Spark读取文件有很多方法,我这里主要介绍一下读取非结构化的文件的两种方式,针对多文件读取,单文件读取也是一样的。方案一:spark的textFile方法,也是最简单的方案,支持通配符,简单好用String afsFilePath="afs://afs.yun.com/app/file/*...
2018-12-30 23:49:21
2409
原创 Spark的Dataframe(Dataset)转Json
Spark的Dataframe(Dataset)转Json字符串 Spark的Dataframe(Dataset)转Json,网上很多都说的太麻烦了,让你先转换成collect,然后按照不同的filed字段去转义。完全不用那么麻烦原理就是先把Dataset<row>就是Dataframe对象(带schema的数据类型)转换成...
2018-12-29 20:35:46
6686
5
原创 spark程序依赖guava冲突报错
在练习 spark 读取本地文件的过程中,遇到了这样的问题:Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapred.Fil...
2018-12-17 20:07:45
2606
转载 Docker后台进程参数-------更改Docker运行根目录的方法
Docker 后台进程参数-------更改Docker运行根目录的方法参数 介绍 --api-enable-cors=false 远程API调用。 -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可以停用容器里的网络 --bip="" 使用 CIDR 地址来设定网络桥的 IP。此参数和 -b 不能一起使用...
2018-12-06 15:39:22
1419
原创 Calendar和GregorianCalendar日历类
Calendar和GregorianCalendar日历类Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的...
2018-10-16 15:26:00
1466
转载 Spark运行架构
1、 Spark运行架构1.1 术语定义lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码;lDriver:Spark中的Driver即运行上述Application的main()函数并且创建SparkCon...
2018-10-09 19:20:20
190
原创 锁的等级:方法锁、对象锁、类锁
锁的等级:方法锁、对象锁、类锁。对象锁(方法锁)是用来控制实例方法之间的同步,类锁是用来控制静态方法(或静态变量互斥体)之间的同步// 类锁:形式1public static synchronized void Method1()// 类锁:形式2public void Method2(){ synchronized (Test.class) { ...
2018-09-12 13:18:38
856
原创 java 生产者消费者模式
生产者消费者模式。public class Product { public int product = 0; public final static int MAX = 999; public final static int MIN = 0; public synchronized void produce(){ ...
2018-09-12 13:18:30
188
原创 ThreadLocal的设计理念与作用
ThreadLocal的设计理念与作用。在JDK的早期版本中,提供了一种解决多线程并发问题的方案: java.lang.ThreadLocal类.ThreadLocal类在维护变量时,实际使用了当前线程(Thread)中的一个叫做ThreadLocalMap的独立副本,每个线程可以独立修改属于自己的副本而不会互相影响,从而隔离了线程和线程,避免了线程访问实例变量发生冲突的问题.Thread...
2018-09-12 13:18:22
483
原创 ThreadPool用法与优势
ThreadPool用法与优势。(1). 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线...
2018-09-12 13:18:13
1157
原创 Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等
Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。java.util.concurrent包分成了三个部分,分别是java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.lock。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、...
2018-09-12 13:18:06
415
原创 spring-data-redis increment方法
spring-data-redis increment方法主要是实现整数类型的自增的,可以通过该函数自己封装incr和decr方法。但是在使用如下方法获取自增的值得时候会报错ValueOperations<String, Object> valueOper=redisTemplate.opsForValue();valueOper.increment(key,1);O...
2018-09-12 13:17:57
5628
原创 Spring的注入方式--构造方法--解决需要在构造方法里面去初始化全局变量
构造方法注入public class UserService implements IUserService { private IUserDao userDao; public UserService(IUserDao userDao) { this.userDao = userDao; }}先看一段代码,下面的代码能运行成功吗?@...
2018-09-12 13:17:42
2217
原创 wait()和sleep()的区别
wait()和sleep()的区别。① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或...
2018-09-11 19:14:55
152
原创 反射的作用于原理
反射的作用于原理。一、 原理 简单的来说,反射机制其实就是指程序在运行的时候能够获取自身的信息。如果知道一个类的名称/或者它的一个实例对象, 就能把这个类的所有方法和变量的信息(方法名,变量名,方法,修饰符,类型,方法参数等等所有信息)找出来。如果明确知道这个类里的某个方法名+参数个数 类型,还能通过传递参数来运行那个类里的那个方法,这就是反射。 尽管Java不是一种动态语...
2018-09-11 19:14:44
1615
原创 解析XML的几种方式的原理与特点:DOM、SAX、PULL
解析XML的几种方式的原理与特点:DOM、SAX、PULL。XML的解析方式有很多,光开源的就有十多种:如Xerces、JDOM、DOM4J、XOM、JiBX、KXML、XMLBeans、jConfig、XStream、XJR等。但是最常用的还是sax、dom、pull、dom4j而android中用的比较多的是 sax(Simple APIs for XML)、dom(Documen...
2018-09-11 19:14:35
2362
原创 设计模式:单例、工厂、适配器、责任链、观察者等等
单列Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二...
2018-09-11 19:14:27
900
原创 java排序
1. 选择排序这个排序方法最简单,废话不多说,直接上代码:public class SelectSort { /** * 选择排序 * 思路:每次循环得到最小值的下标,然后交换数据。 * 如果交换的位置不等于原来的位置,则不交换。 */ public static void main(String[] args) { ...
2018-09-11 19:14:20
188
原创 线程同步的方法:sychronized、lock、reentrantLock等
线程同步的方法:sychronized、lock、reentrantLock等。如果你向一个变量写值,而这个变量接下来可能会被另一个线程所读取,或者你从一个变量读值,而它的值可能是前面由另一个线程写入的,此时你就必须使用同步。sychronizedJava语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,它是在 软件层面依赖JVM实现同...
2018-09-11 19:13:57
355
原创 实现多线程的两种方法:Thread与Runable
实现多线程的两种方法:Thread与Runable。实现多线程有两种方式:(自JDK1.5之后有三种,最后一种并不常用)(1).继承Thread类(2).实现Runnable接口(Callable接口)一个类如果实现了Runnable接口或者继承了Thread类,那么它就是一个多线程类,如果是要实现多线程,还需要重写run()方法,所以run() 方法是多线程的入口。但是在启动...
2018-09-11 19:13:45
1258
原创 Interface与abstract类的区别
Interface与abstract类的区别。(01).abstract class 在Java中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。(02).在abstract class 中可以有自己的数据成员,也可以有非abstarct的方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static fina...
2018-09-11 19:13:34
645
原创 Override和Overload的含义和区别
Override和Overload的含义和区别。(1). Override 特点 (01)、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果; (02)、覆盖的方法的返回值必须和被覆盖的方法的返回一致; (03)、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;(04)、方法被定义为final不能被重写。 (05)、对于继...
2018-09-11 19:13:25
2732
java面试题总结 下载
2017-05-16
在使用jqueryui的tab方法是遇到一个问题,不知道为什么,求高手解答
2015-02-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人