java基础教程
文章平均质量分 80
java基础教程
普通网友
这个作者很懒,什么都没留下…
展开
-
初识第三方登录
c#教程https://www.xin3721.com/eschool/CSharpxin3721/web项目中集成第三方登录,需要去为这个web应用申请第三方登录接口。再选择第三方登录时,比如QQ,先通过qq的登录认证,然后qq的服务器返回一个code。通过这个code,结合申请时QQ提供的一些如appkey等数据,去请求登录接口。这个接口会返回唯一标识用户的信息叫做AccessToken,会是json格式的。这个信息我猜是实现的oauth接口的,所以各大厂商都会有这些基本的信息。.转载 2022-01-15 09:27:30 · 148 阅读 · 0 评论 -
IDA-hook so层方法与java层之间的映射关键
第一步1.首先用ida打开python教程so文件第二步第三步转载 2022-01-15 09:22:50 · 277 阅读 · 0 评论 -
第一个mybatis程序
Java基础教程https://www.xin3721.com/eschool/Javaxin3721/2、第一个mybatis程序思路:搭建环境--->导入mybatis--->编写代码--->测试!2.1、搭建环境搭建数据库CREATE DATABASE `mybatis`;USE `mybatis`;INSERT INTO `user`(`id`,`name`,`pwd`)VALUES(1,'张三','123456'),(2,'李四','123456')转载 2022-01-13 21:45:48 · 93 阅读 · 0 评论 -
整合SSM学习笔记
Java基础教程https://www.xin3721.com/eschool/Javaxin3721/自定义配置文件新建DB.properties,编写:启动类:application.propert:# ${}:从自定义配置文件中查找对象,并取出数据。spring.datasource.driver-class-name=${jdbc.driver}spring.datasource.url=${jdbc.url}spring.datasource.us.转载 2022-01-13 21:43:31 · 87 阅读 · 0 评论 -
java BASE64处理
Java基础教程https://www.xin3721.com/eschool/Javaxin3721/package org.fh.util;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import org.apache.commons...转载 2022-01-13 21:20:31 · 256 阅读 · 0 评论 -
制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)
Java基础教程https://www.xin3721.com/eschool/Javaxin3721/欢迎访问我的GitHubhttps://github.com/zq2599/blog_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;本篇概览在《三分钟:极速体验JAVA版目标检测(YOLO4)》一文中,咱们体验了YOLO4强大的物体识别能力,如下图:如果您已看过《三分钟:极速体验JAVA版目标检测(YOLO.转载 2022-01-13 21:19:23 · 1668 阅读 · 0 评论 -
Mybatis(解决属性名和字段名不一致的问题)
Java基础视频教程https://www.xin3721.com/eschool/Javaxin3721/5、Mybatis(解决属性名和字段名不一致的问题)我们从数据库中取到的数据都会交给实体类,然后从实体类中拿到数据并操作数据,所以如果我们数据库中的字段要是和实体类中的属性不一致的话,我们就从实体类中无法得到我们想要的一些数据解决方法:起别名【不推荐】因为要是字段非常多的话,就很不方便就是在Mapper.xml文件中将字段全部写出来,并给想到的字段起别名<mapper n转载 2022-01-13 20:55:06 · 307 阅读 · 0 评论 -
基于rabbitmq延迟插件实现分布式延迟任务
Java基础视频教程https://www.xin3721.com/eschool/Javaxin3721/承接上文基于redis,redisson的延迟队列实践,今天介绍下基于rabbitmq延迟插件rabbitmq_delayed_message_exchange实现延迟任务。一、延迟任务的使用场景1、下单成功,30分钟未支付。支付超时,自动取消订单2、订单签收,签收后7天未进行评价。订单超时未评价,系统默认好评3、下单成功,商家5分钟未接单,订单取消4、配送超时,.转载 2022-01-13 20:54:04 · 654 阅读 · 0 评论 -
java 导出到EXCEL
Java基础视频教程https://www.xin3721.com/eschool/Javaxin3721/ package org.fh.util;import java.util.Date;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import.转载 2022-01-13 20:50:32 · 418 阅读 · 0 评论 -
spring事务相关
Java视频教程https://www.xin3721.com/eschool/Javaxin3721/之前去面试的时候,被问到一句spring嵌套事务的情况怎么解决。被问到哑口无言,恰好现在的项目正好用到嵌套事务。并且也正在尝试分布式事务。所以现在也是自己学习了一些嵌套事务相关的东西。事务隔离级别的概念 事务传播 - PropagationREQUIRED: 使用当前的事务,如果当前没有事务,则自己新建一个事务,子方法是必须运行在一个事务中的; 如果当前存在转载 2021-10-30 23:20:34 · 157 阅读 · 0 评论 -
java 导入到EXCEL表格
java基础视频教程Java视频教程|xin3721自学网李天生老师主讲java视频教程,适合入门及进阶者。https://www.xin3721.com/eschool/Javaxin3721/package com.fh.util;import java.util.Date;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servl.转载 2021-09-28 13:37:34 · 181 阅读 · 0 评论 -
Nresource服务之接口缓存化
java基础视频教程Java视频教程|xin3721自学网李天生老师主讲java视频教程,适合入门及进阶者。https://www.xin3721.com/eschool/Javaxin3721/1、背景Nresource服务日均4.5亿流量,考虑到未来流量急增场景,我们打算对大流量接口进行缓存化处理;根据服务管理平台数据统计显示getUsableResoureCount接口调用量很大,接近40%,故对此接口进行缓存化处理。2、方案调研getUsableResou...转载 2021-09-28 11:39:32 · 92 阅读 · 0 评论 -
Java 命名规范(非常全面,可以收藏)
java基础视频教程Java视频教程|xin3721自学网李天生老师主讲java视频教程,适合入门及进阶者。https://www.xin3721.com/eschool/Javaxin3721/来源:www.ramostear.com/blog/2020/03/20/2vxdaqjq.html最近发现很多初级程序员写代码时很不规范,比如方法名 类名 等,如果遇到有代码洁癖的领导肯定会被骂(什么垃圾代码),下面分享一篇不错的规范文章在本文中,将从大到小,从外到内,总结Java编程中的命名规范转载 2021-09-28 10:49:36 · 281 阅读 · 0 评论 -
MyBatis中模糊搜索使用like匹配带%字符时失效问题
java基础视频教程Java视频教程|xin3721自学网李天生老师主讲java视频教程,适合入门及进阶者。https://www.xin3721.com/eschool/Javaxin3721/1.问题背景Mybatis是我们日常项目中经常使用的框架,在项目中我们一般会使用like查询作为模糊匹配字符进行搜索匹配,下面的Mapper.xml是我们使用like在项目中进行模糊匹配的常用方式:<sql id="searchCondition"> <trim pr转载 2021-09-28 10:46:07 · 4861 阅读 · 0 评论 -
SpringMVC
1.什么是SpringMVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Obj转载 2021-09-21 14:00:07 · 332 阅读 · 0 评论 -
Group By 深度优化,真是绝了!
作者:谦虚的小K导读当我们交友平台在线上运行一段时间后,为了给平台用户在搜索好友时,在搜索结果中推荐并置顶他感兴趣的好友,这时候,我们会对用户的行为做数据分析,根据分析结果给他推荐其感兴趣的好友。这里,我采用最简单的SQL分析法:对用户过去查看好友的性别和年龄进行统计,按照年龄进行分组得到统计结果。依据该结果,给用户推荐计数最高的某个性别及年龄的好友。那么,假设我们现在有一张用户浏览好友记录的明细表t_user_view,该表的表结构如下:CREATE TABLE `t_use.转载 2021-09-21 13:58:22 · 183 阅读 · 0 评论 -
Java多线程
1.初识多线程1.概述多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理” 。2.原理 实现多线程是采用一种并发执行机制 并发执行机制原理:简单地说就是把一个处理器划分为.转载 2021-09-21 13:00:08 · 145 阅读 · 0 评论 -
Spring Boot Actuator 健康检查、度量、指标收集、监控,一文搞定!
java教程作者:Richard_Yi原文:掘金前言去年我们项目做了微服务1.0的架构转型,但是服务监java教程控这块却没有跟上。这不,最近我就被分配了要将我们核心的微服务应用全部监控起来的任务。我们的微服务应用都是SpringBoot 应用,因此就自然而然的想到了借助Spring Boot 的Actuator 模块。(没吃过猪肉总听过猪叫见过猪跑吧????)。本篇是我在完成这个工单之后,对Spring Boot Actuator模块 学习应用的总结。在本篇文章中,你可以学习到:Sp转载 2021-09-21 12:47:40 · 808 阅读 · 0 评论 -
剑指offer计划20( 搜索与回溯算法中等)---java
1.1、题目1剑指 Offer 07. 重建二叉树1.2、解法注释解法。1.3、代码class Solution { int[] preorder; HashMap<Integer, Integer> map = new HashMap<>(); // 前序遍历 preorder: 根 -- 左 -- 右 第一个肯定是根节点 // 中序遍历 inorder: 左 -- 根 -- 右 public TreeNode b转载 2021-09-21 12:18:33 · 106 阅读 · 0 评论 -
【Java代码之美】 -- Java11新特性解读
1.背景美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本。非常值得大家的关注,可以通过下面的地址进行下载:Java Downloads | OracleJava11和Java8一样,是一个长期支持的版本,下面是Sun官方发布的版本支持路线图:可以看出 Java 8 扩展支持到 2025 年,而 Java 11 扩展支持到 2026 年。Java11包含了Java9、Java10的全部功能,下面我们来看一看Java9.转载 2021-09-21 11:50:22 · 201 阅读 · 0 评论 -
【Java代码之美】 -- Java17新特性初探
1.背景Oracle与9月中旬正式宣布推出Java17,正如官方所说:JDK17是最新的长期稳定支持的版本作为JDK11之后的下一个长期支持的版本; 也是Spring Framework6与SpringBoot 3在运行时至少需要运行的JDK版本环境; JDK17提供了数以千计的性能、稳定性和安全更新,以及14个JEP(JDK增强建议),用于帮助开发人员提高效率下面来简单地介绍一下其中主要的特性。2.新特性说明2.1.密封类转正密封类(Sealed Classes)是 J.转载 2021-09-21 11:45:17 · 421 阅读 · 0 评论 -
lombok时运行编译无法找到get/set方法 看这篇就够了
今天项目突然运行的时候报错,提示找不到get和set方法,这个时候我就检查了项目,在编译器(idea)是没有报错的。说明编译没问题,只是运行过不去。后面就开始用我的方法解决这个问题,一步一步排查。第一步:排查是不是lombok插件导致的,因为好长时间没更新了,打开发现lombok有提示更新,然后我就顺藤摸瓜,跟着提示进行更新。更新后重启编译器(idea)还是一样,问题还是存在。第二步:在想是不是编译器(idea)抽风,把配置弄坏了,所以打开设置检查了一下。file->s...转载 2021-09-19 21:14:46 · 2773 阅读 · 0 评论 -
并发编程之:ForkJoin
大家好,我是小黑,一个在互联网苟且偷生的农民工。在JDK1.7中引入了一种新的Fork/Join线程池,它可以将一个大的任务拆分成多个小的任务并行执行并汇总执行结果。Fork/Join采用的是分而治之的基本思想,分而治之就是将一个复杂的任务,按照规定的阈值划分成多个简单的小任务,然后将这些小任务的结果再进行汇总返回,得到最终的任务。分治法分治法是计算机领域常用的算法中的其中一个,主要思想就是将将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且与原问题性质相同;求解出子转载 2021-09-19 21:13:32 · 1231 阅读 · 0 评论 -
Spring Boot + Redis 实现各种操作,写得太好了吧!
一、Jedis,Redisson,Lettuce三者的区别共同点:都提供了基于Redis操作的Java API,只是封装程度,具体实现稍有不同。不同点:1.1、Jedis是Redis的Java实现的客户端。支持基本的数据类型如:String、Hash、List、Set、Sorted Set。特点:使用阻塞的I/O,方法调用同步,程序流需要等到socket处理完I/O才能执行,不支持异步操作。Jedis客户端实例不是线程安全的,需要通过连接池来使用Jedis。1.2、Redisso..转载 2021-09-19 20:50:06 · 222 阅读 · 0 评论 -
使用IntelliJ创建第一个简单的Springboot项目
使用IntelliJ创建Springboot项目是非常方便的,创建过程中,我们可以自由的选择要启用的springboot生态里的各种框架、插件。本文只是为了简单演示,所以只选择简单的web功能即可。打开IntelliJ编辑器,File>New Project,然后选择Spring Initializr,如下图所示然后点击Next,进入下一步。新的页面中,主要是选择Springboot的版本号,还有想要用到的各种框架。我们按最简单的来。版本号不动,默认是最新的稳定版本。【下图箭头一】转载 2021-09-19 20:48:54 · 517 阅读 · 0 评论 -
Java 客户信息管理软件 (面向对象 封装 总结)
Java 客户信息管理软件 (面向对象 封装 总结) 1 package com.bytezero.cim.bean; 2 3 /** 4 * 5 * @Description Customer为实体对象,用来封装客户信息 6 * @author Bytezero·zhenglei! Email:420498246@qq.com 7 * @version 8 * @date 2021年9月16日下午6:34:59 9 * @10 *11 */转载 2021-09-19 20:45:39 · 127 阅读 · 0 评论 -
for 循环的 5 种写法,哪种最快?
来源:juejin.im/post/5ea63f3ef265da47b177b4b6几种遍历方法中for执行最快,它没有任何额外的函数调用栈和上下文。但在实际开发中我们要结合语义话、可读性和程序性能,去选择究竟使用哪种方案。下面来看for,foreach,map,for...in,for...of五种方法现场battle。for我是最早出现的一方遍历语句,在座的各位需称我一声爷爷。我能满足开发人员的绝大多数的需求。// 遍历数组let arr = [1,2,3];for...转载 2021-09-19 19:20:31 · 6309 阅读 · 0 评论 -
Java项目常用的统一返回跟统一异常处理
先创建一个crud的项目。controller调用service调用mapper以下以简单代码代替controller @GetMapping("/getUserById") public String getUserById(String id){ String userById = userService.getUserById(id); return userById; }service @Override转载 2021-09-19 19:19:13 · 1261 阅读 · 0 评论 -
【JDK】分析 String str=““ 与 new String()
一、基础概念为了讲清楚他们的差异,这里先介绍几个概念。1.1 常量池所谓常量池:顾名思义就是用来存放一些常量的。该常量是在编译期被确定,并被保存在已编译的.class文件中,其中包括了类,方法,接口等包含的数值常量,字符常量和字符串常量。1.2 字符串常量池在常量池中,有个专门用来存储字符串常量的,称之为字符串常量池。当我们需要使用字符串时,首先会在该字符串常量中查找是否存在该字符串,若存在则直接进行使用;若不存在,则会新建一个对应的字符串,并保存在该字符串常量池中。1.3转载 2021-09-19 18:15:15 · 137 阅读 · 0 评论 -
java版gRPC实战之六:客户端动态获取服务端地址
客户端为什么要动态获取服务端地址本文是《java版gRPC实战》系列的第六篇,前面咱们在开发客户端应用时,所需的服务端地址都是按如下步骤设置的:在application.yml中配置,如下图:在用到gRPC的bean中,使用注解GrpcClient即可将Stub类注入到成员变量中:上述操作方式的优点是简单易用好配置,缺点也很明显:服务端的IP地址或者端口一旦有变化,就必须修改application.yml并重启客户端应用;为什么不用注册中心您一定会想到解决上述问题最简单的方法就是使转载 2021-09-19 18:04:53 · 1594 阅读 · 0 评论 -
Spring常见问题
1、什么是Spring?Spring 是个 java 企业级应用的开源开发框架。Spring 主要用来开发 Java 应用,但是有些扩展是针对构建 J2EE 平台的 web 应用。Spring 框架目标是简化 Java 企业级应用开发,并通过 POJO 为基础的编程模型促进良好的编程习惯。2、使用Spring框架的好处?轻量:Spring 是轻量的,基本的版本大约 2MB。 控制反转:Spring 通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面的编转载 2021-09-19 16:07:09 · 128 阅读 · 0 评论 -
Spring Boot中有多个@Async异步任务时,记得做好线程池的隔离!
通过上一篇:配置@Async异步任务的线程池的介绍,你应该已经了解到异步任务的执行背后有一个线程池来管理执行任务。为了控制异步任务的并发不影响到应用的正常运作,我们必须要对线程池做好相应的配置,防止资源的过渡使用。除了默认线程池的配置之外,还有一类场景,也是很常见的,那就是多任务情况下的线程池隔离。什么是线程池的隔离,为什么要隔离可能有的小伙伴还不太了解什么是线程池的隔离,为什么要隔离?。所以,我们先来看看下面的场景案例:@RestControllerpublic class HelloCo转载 2021-09-19 16:01:43 · 385 阅读 · 0 评论 -
Java环境搭建与HelloWprld—改变世界的第一步
1.JDK下载1.访问oracle官网:http://www.oracle.com2.在首页点击Downloads,进入oracle软件下载页。在下载页面,点击Java。3.选择Java (JDK) for Developers,点击。4.在 Java SE Downloads 页面,点击中间的DOWNLOAD按钮。5.在JDK下载页,首先勾选Accept License Agreement,同意Oracle Java SE的Oracle技术网许可协议。6..转载 2021-09-19 15:46:02 · 151 阅读 · 0 评论 -
MySQL 是如何实现 ACID 的?
本文主要探讨MySQL InnoDB 引擎下ACID的实现原理,对于诸如什么是事务,隔离级别的含义等基础知识不做过多阐述。ACIDMySQL 作为一个关系型数据库,以最常见的 InnoDB 引擎来说,是如何保证 ACID 的。(Atomicity)原子性:事务是最小的执行单位,不允许分割。原子性确保动作要么全部完成,要么完全不起作用; (Consistency)一致性:执行事务前后,数据保持一致; (Isolation)隔离性:并发访问数据库时,一个事务不被其他事务所干扰。 ...转载 2021-09-19 14:09:01 · 125 阅读 · 0 评论 -
Spring学习教程,spring框架最全面的原理解析
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许你选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 框架Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。图 1. Spring 框架的 7 个模块组成 Spring 框架的每个模块(或组件)都可以单独存.转载 2021-09-19 13:02:26 · 289 阅读 · 0 评论 -
一个工具类搞定 CRUD 的创建人、修改人、时间等字段赋值!
来源:juejin.cn/post/6984555714752561183背景数据库设计过程中,我们往往会给数据库表添加一些通用字段,比如创建人、创建时间、修改人、修改时间,在一些公司的设计过程中有时会强制要求每个表都要包含这些基础信息,以便记录数据操作时的一些基本日志记录。按照平常的操作来说,通用做法是输写sql时,将这些信息和对象的基本属性信息一起写入数据库,当然,这也是大家习以为常的操作,这种写法无可厚非,但是对于一个高级开发人员来说,如果所有的表都进行如此操作,未免显得有点啰嗦,而且数据转载 2021-09-19 12:57:28 · 200 阅读 · 0 评论 -
java版gRPC实战之七:基于eureka的注册发现
关于eureka前面咱们在开发客户端应用时,所需的服务端地址都是按如下步骤设置的:在application.yml中配置,如下图:在用到gRPC的bean中,使用注解GrpcClient即可将Stub类注入到成员变量中:上述操作方式的优点是简单易用好配置,缺点也很明显:服务端的IP地址或者端口一旦有变化,就必须修改application.yml并重启客户端应用; 聪明的您一定想到了应对之道:注册中心!没错,有了注册中心,咱们的客户端只要能从注册中心取得最新的服务端地址,就不再需要手动配转载 2021-09-19 12:55:52 · 641 阅读 · 0 评论 -
一篇文章让你彻底理解Java的单例设计模式
下文是笔者编写的单例模式实现的八种方式,如下所示:单例模式的简介我们将一个类在当前进程中只有一个实例的这种模式,称之为“单例模式”那么Java代码如何实现一个单例模式呢?下文将一一到来,如下所示:单例模式的注意事项: 1.单例模式在一个进程中只有一个实例 2.单例类通常由自己创建自身的实例 3.单例类给其他对象提供的都是同一个实例测试代码package com.java265.Singleton;public class Test { public转载 2021-09-19 10:36:50 · 114 阅读 · 0 评论 -
java web-servlet入门
java web中servlet相关操作,从idea构建工程开始。Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。 简介 maven 创建项目工程 创建maven项目 配置工程信息 创建的工程只有webapp目录,此时需要手动新.转载 2022-01-15 09:26:27 · 85 阅读 · 0 评论 -
Linux 大文件如何切割与合并?
作者:Escape往往是因为网络传输的限制,导致很多时候,我们需要在 Linux 系统下进行大文件的切割。这样将一个大文件切割成为多个小文件,进行传输,传输完毕之后进行合并即可。Linux 大文件的分割与合并 Linux 学习–文件分割与合并Linux下大文件切割与合并1. 文件切割 - split在 Linux 系统下使用 split 命令进行大文件切割很方便[1] 命令语法# -a: 指定输出文件名的后缀长度(默认为2个:aa,ab...)# -d: 指定输出.转载 2021-09-17 19:20:49 · 858 阅读 · 0 评论