
java
文章平均质量分 91
在的XF
这个作者很懒,什么都没留下…
展开
-
使用 SingleStore 作为地理空间数据库
摘要SingleStore 是一个多模型数据库系统。除了关系数据,它还支持键值、JSON、全文搜索、地理空间和时间序列。此前的一篇文章展示了 SingleStore 管理时间序列数据的能力,而在本文中,我们将探索地理空间数据。我们使用伦敦行政区和伦敦地铁的数据,用它们的数据集执行一系列地理空间查询,以测试 SingleStore 处理地理空间数据的能力。此外,我们还将讨论一个伦敦地铁数据的实际用例,即查找网络中两点之间的最短路径。最后,使用 Folium 和 Streamlit 创建伦敦..原创 2022-04-06 09:45:00 · 682 阅读 · 0 评论 -
Java 实现生成MD5 UDF函数(用户自定义函数),供hive使用
背景:虽然 Hive 已经提供了很多内存的函数,但还是不能满足用户的需求,因此有提供了自定义函数供用户自己开发函数来满足自己的需求。要求:用java实现 自定义的UDF函数 该函数用于生成MD5效果如图:一、java代码实现+包依赖(文件名和里面的class要一致)package cn.geek.bigdata.hive;import org.apache.commons.lang.StringUtils;import org.apache.hadoop.hive.ql.exec原创 2022-04-06 09:15:00 · 403 阅读 · 0 评论 -
Java Lambda详解
Lambda表达式是JDK 8开始后的一种新语法形式。作用:简化匿名内部类的代码写法简化格式(匿名内部类被重写方法的形参列表) -> { 重写方法}Lambda表达式只能简化函数式接口的匿名内部类的写法形式什么是函数式接口?首先必须是接口、其次接口中有且仅有一个抽象方法的形式 通常会在接口上加上一个@FunctionalInterface注解,标记该接口必须是满足函数式接口如何使用Lambda?我们将根据下面三个问题来帮助大家理解和使用Lambda背景:我们自原创 2022-04-02 12:00:00 · 234 阅读 · 0 评论 -
Java 创建kafka主题
本文简要介绍Apache Kafka,并使用Java编码方式创建、配置kafka主题。Kafak 介绍Apache Kafka是强大、高性能、分布式的事件流平台。通常生产者应用程序发布事件到Kafka,消费者订阅这些事件以便读取和处理它们。Kafka使用主题来存储和分类这些事件,例如,在一个电子商务应用程序中,可能有一个“订单”主题。Kafka主题是分区的,它将数据分布在多个代理上以实现可伸缩性。分区可设置副本,从而使数据具有容错性和高可用性。主题还可设置保留策略,便于后期使用。这些都可以通过K原创 2022-04-02 12:30:00 · 969 阅读 · 0 评论 -
SpringMVC源码剖析:消息转换器HttpMessageConverter与ResponseBody注解
本文使用的demo基于maven,是根据入门blog的例子继续写下去的。我们先来看一看对应的现象。 我们这里的配置文件 *-dispatcher.xml中的关键配置如下(其他常规的配置文件不在讲解,可参考本文一开始提到的入门blog):(视图配置省略)<mvc:resources location="/static/" mapping="/static/**"/><mvc:annotation-driven/><context:component-scan b原创 2022-04-02 11:00:00 · 783 阅读 · 0 评论 -
SpringMVC源码分析:DispatcherServlet如何找到正确的Controller
SpringMVC是目前主流的Web MVC框架之一。我们使用浏览器通过地址http://ip:port/contextPath/path进行访问,SpringMVC是如何得知用户到底是访问哪个Controller中的方法,这期间到底发生了什么。本文将分析SpringMVC是如何处理请求与Controller之间的映射关系的,让读者知道这个过程中到底发生了什么事情。本文实际上是在上文基础上,深入分析<pre>HandlerMapping里的</pre><..原创 2022-04-02 11:15:00 · 788 阅读 · 0 评论 -
SpringMVC源码分析:DispatcherServlet的初始化流程
除此之外,没有其他了。我们启动web服务器,在浏览器中输入地址,就可以看到浏览器上输出我们写好的页面。为了更好的理解上面这个过程,以上的知识,我觉得对于你理解SpringMVC的设计思想,已经足够了。SpringMVC当然可以称得上是一个复杂的框架,但是同时它又遵循Servlet世界里最简单的法则,那就是“init-service-destroy”。我们要分析SpringMVC的初始化流程,其实就是分析DispatcherServlet类的init()方法,让我们带着这种单纯的观点,打开Dispatch原创 2022-04-02 10:00:00 · 468 阅读 · 0 评论 -
Java工程师面试指南,Lucene基础原理与实践
根据定义:Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据来处理,也可抽取出纯文本按非结构化数据来处原创 2022-04-01 14:23:47 · 521 阅读 · 0 评论 -
2.7w字,Java基础面试题/知识点总结(2022最新版)
整篇文章的目录如下:基础概念与常识Java 语言有哪些特点? 简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持); 可靠性; 安全性; 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且原创 2022-04-01 09:00:00 · 255 阅读 · 0 评论 -
Java 线程池原理及最佳实践(面试必问)
概述1.1 线程池是什么线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。创建线程本身开销大,反复创建并销毁,过多的占用内存。所以有大量线程创建考虑使用线程池。线程池不用反复创建线程达到线程的复用,更具配置合理利用cpu和内存减少了开销,性能会得到提高,还能统一管理任务比如服务器收到大量请求,每个请求都分配线程去处理,对服务器性能考验就比较大,如果创建5个以上线程考虑使用线程池。线程过多会带来额外的开销,其中包括创建销毁线程的开销、原创 2022-03-31 15:26:41 · 2271 阅读 · 0 评论 -
Spring Cloud 实战项目
把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,这就是微服务架构的架构概念,通过将功能分解到各个离散的服务中以实现对解决方案的解耦。关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅的第一站。本文推荐 7 个非常火的微服务项目,从入门到实战,这篇文章值得收藏。01.不二之选第一个推荐的项目是高赞教程:PiggyMetrics ,这个开源项目是你开启微服务之旅的不二之选。PiggyMetrics是一个很全面的微服务实践入门的实例集,它可以指导开..原创 2022-03-31 14:38:18 · 764 阅读 · 1 评论 -
Spring 中那些让你爱不释手的代码技巧
最近越来越多的读者认可我的文章,还是件挺让人高兴的事情。有些读者私信我说希望后面多分享spring方面的文章,这样能够在实际工作中派上用场。正好我对spring源码有过一定的研究,并结合我这几年实际的工作经验,把spring中我认为不错的知识点总结一下,希望对您有所帮助。一 如何获取spring容器对象1.实现BeanFactoryAware接口@Servicepublic class PersonService implements BeanFactoryAware { priv原创 2022-03-31 14:28:43 · 631 阅读 · 0 评论 -
面试之Java String 编码相关
实话说,作为一个多年Java老年程序员,直到近来,在没有决心花时间搞清楚Java String的编码相关问题之前, 自己也都还是似懂非懂,一脸懵逼的。设想如果在面试中,有同学能够条理清晰的回答下面的问题,那必是非常了得之人,论 智慧武功应该均在本人之上:-)。问:请预测下面程序的输出,并解释原因。printHexBinary方法为16进制打印Byte 1 String str = "中"; 2 3 byte[] bufferGBK = str.getBytes("GBK"); 4 Sys翻译 2022-03-31 10:45:00 · 286 阅读 · 0 评论 -
搭建分布式事务组件 seata 的Server 端和Client 端详解
一,server 端的存储模式为:Server 端 存 储 模 式 (store-mode) 支 持 三 种 :file: ( 默 认 ) 单 机 模 式 , 全 局 事 务 会 话 信 息 内 存 中 读 写 并 持 久 化 本 地 文 件 root.data , 性 能 较 高 ( 默 认 )。db: 高 可 用 模 式 , 全 局 事 务 会 话 信 息 通 过 d b 共 享 , 相 应 性 能 差 些。redis: Seata-server 1 3 及 以 上 版 本 支 持 , 性 能.原创 2022-03-31 10:00:00 · 516 阅读 · 0 评论 -
玩转SpringBoot之定时任务Scheduled线程池配置
对于定时任务,在SpringBoot中只需要使用@Scheduled 这个注解就能够满足需求,它的出现也给我们带了很大的方便,我们只要加上该注解,并且根据需求设置好就可以使用定时任务了。但是,我们需要注意的是,@Scheduled 并不一定会按时执行。因为使用@Scheduled 的定时任务虽然是异步执行的,但是,不同的定时任务之间并不是并行的!!!!!!!!在其中一个定时任务没有执行完之前,其他的定时任务即使是到了执行时间,也是不会执行的,它们会进行排队。也就是如果你想你不同的定时任务互不原创 2022-03-31 09:00:00 · 9147 阅读 · 5 评论 -
SpringBoot内置Tomcat启动原理源码分析
1、获取SpringBoot内置Tomcat自动配置类: 在SpringBoot项目中引入spring-boot-starter-web依赖,就默认使用Tomcat容器,该依赖中引入spring-boot-starter-tomcat、spring-webmvc,就引入了tomtcat核心依赖和springMvc相关jar包,这样就间接地引入了tomcat。 在执行SpringBoot项目启动类的main(...原创 2022-03-30 16:01:47 · 732 阅读 · 0 评论 -
大厂技术 大亨经验分享Linux源码安装RabbitMQ高可用集群
1.环境说明linux版本:CentOS Linux release 7.9.2009 erlang版本:erlang-24.0 rabbitmq版本:rabbitmq_server-3.9.132.源码安装erlang、RabbitMQ Rabbitmq采用erlang语言开发,所以在安装rabbitmq之前,需要安装erlang。2.1 下载erlang、RabbitMQ源码包erlang官网下载地址:Index of /download/选择opt_src_版本号.tar.g.原创 2022-03-30 15:40:57 · 7918 阅读 · 0 评论 -
java规则引擎easy-rules使用指南 1 - 基本用法
规则引擎能干什么规则引擎的工作方式有点像if-else,它允许你设置一些条件和动作,然后在程序运行时判断某些动作该不该执行。easy-rules是一款轻量级的java规则引擎,目前它的长期支持版本是4.1.x,所以我们就以4.1.0版本来看一下如何使用。如何引入如果使用maven,可以直接在pom中加入:<dependency> <groupId>org.jeasy</groupId> <artifactId>easy-ru原创 2022-03-30 13:55:35 · 2413 阅读 · 0 评论 -
kratos 微服务框架商城实战初识 kratos
准备工作本机器这里已经安装好了 go、kratos、proto、wire、make等所需的工具。初始化项目目录进入自己电脑中存放 Go 项目的目录新建 kratos-shop/service目录,并进入到新建的目录中执行 kratos new user命令并进入 user目录,执行命令 kratos proto add api/user/v1/user.proto,这时你在 /service/user/api/user/v1目录下会看到新的 user.proto文件已经...原创 2022-03-30 12:30:00 · 1799 阅读 · 0 评论 -
如何设计一个易扩展、易运维的内容下发服务架构?
内容为王时代,任何一个ToC的App都会有内容下发服务,内容包含商品、图文、视频等,比如在淘系App上,首页和各个垂类频道页充满了各类内容,这些页面业务变化非常较快,如何设计一个易扩展、稳定、低延迟的内容下发接口,需要开发同学不断思考摸索。作者总结内容下发服务遇到的常见问题和挑战,设计出一套灵活架构来支持不断变化的业务,重点梳理在内容服务下发内容时需要关注的点、拆分内容下发服务各个环节,通过分层架构,最终达到易扩展、易运维的业务效果。重要术语解释 内容:包括商品、图文、视频等,服务端通过算法...原创 2022-03-30 11:00:00 · 196 阅读 · 0 评论 -
《ClickHouse 实战:企业级大数据分析》
计算机科学领域的所有问题,都可以通过添加一层中间层来解决。通过在用户和计算机中间添加一层逻辑层(概念模型层),于是就有了“数据库的三级模式”:数据库在三个级别 (层次)上进行 抽象 ,使用户能够逻辑地、抽象地处理数据,而不必关心数据在计算机中的物理表示和存储。数据库简介当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。数据库是一个按数据结...原创 2022-03-29 19:49:06 · 927 阅读 · 1 评论 -
Spring源码解析:高级容器的扩展
本篇我们一起来详细探究一下基于 ApplicationContext 的容器初始化和注入过程,至于 ApplicationContext 的使用方式,广大开发者应该是信手拈来,这里还是简单的举例一下:ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-core.xml");MyBean myBean = (MyBean) context.getBean("my-bean");myBean转载 2022-03-29 15:26:34 · 488 阅读 · 0 评论 -
拿捏字节面试官:这92道 Spring Boot 面试题轻松应对(上)
Spring Boot面试题1、什么是Spring Boot?多年来,随着新功能的增加,spring变得越来越复杂。只需访问页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置。因此,开始一个新的spring项目需要很多努力,因为我们现在必须从头开始做所有事情。Spring Boot是解决这个问题的方法。Spring Boot已经建立在现有spri原创 2022-03-28 16:22:09 · 749 阅读 · 0 评论 -
你还在为转换Bean对象 发愁吗.本文为你详解
前言:我们的故事要从一个风和日丽的下午开始说起!这天,外包韩在位置上写代码~外包韩根据如下定义PO(persistant object):持久化对象,可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录。 VO(view object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 BO(business object):业务对象,主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 DT原创 2022-03-16 14:38:36 · 200 阅读 · 1 评论 -
Java 将PDF转为PDF/A
通过将PDF格式转换为PDF/A格式,可保护文档布局、格式、字体、大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读、可访问。本篇文章,将通过Java后端程序代码展示如何将PDF转为符合PDF/A1A, 2A, 3A, 1B, 2B和3B标准的PDF。以下是具体方法及步骤。Jar包导入本次程序中导入的是Spire.Pdf.jar。可在Maven程序中配置pom.xml如下内容来实现下载导入:复制代码<repositories> <repository&原创 2022-03-12 19:17:32 · 409 阅读 · 0 评论 -
引流Java解决内存利用
Valhalla布莱恩·格茨在去年底发表了一篇名为State of Valhalla的文章,里面信息量非常大,里面提到早在2014年Java项目组就启动了一个名叫Valhalla的项目,这个项目将为JVM平台带来更加灵活的、扁平化的数据类型。在2021年该项目将有进一步的动作,值对象(value objects)、原始类(primitive classes)、专用泛型(specialized generics)即将引入JVM平台。今天先来聊聊这个值对象是个啥。我们知道什么是“值”,什么是“对象”,但原创 2022-03-12 19:03:49 · 141 阅读 · 0 评论 -
关于java校招面试技术心得
写在前面写作动机这篇文章不能带给你什么我的面试经历春招找实习,投了三家(阿里,腾讯,美团),全部拿到实习 Offer,去了阿里。秋招为了稳妥地转正,拿一个好的评级,在专心准备转正面试,错过了提前批,正式批投了五家,面了三家(阿里,腾讯,网易),基本都是 special offer:如何看待校招面试招聘,对公司而言,是寻找劳动力;对员工而言,是寻找未来的同事。所以考核的东西肯定有如下几点:所以很多人挂的原因就很明显了:技术能力不佳,挂;看不到学习的悟性,只会原创 2022-03-11 19:18:46 · 516 阅读 · 0 评论