自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 我看maven之ssm整合

在eclipse4.0及MyEclipse中就不需要安装maven插件,在window–preference中可以查看是否有maven插件,没有就装Maven插件,复制Maven插件到eclipse安装目录中的dropins中,然后修改eclipse.ini,在这个文件里的512m后面添加-vm,换行,再添加jdk/bin/javaw.exe保存。完整的项目构建过程:清理,编译,打包,测试,集成测试,验证,部署,clean complie test package install。

2024-06-19 04:26:53 377

原创 Android笔试题大全(持续更新中)

答: Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。通过startActivity() orstartActivityForResult()启动一个Activity;

2024-06-19 04:26:10 1000

原创 异步请求ajax介绍,原生ajax,$

ajax的应用场景我们直接看一个最典型的案例,这就用到了ajax技术。上面是一个搜索框,我们进行搜索的时候,下面就自动进行提示,这就是ajax的典型应用案例,我们只要输入字符,那么就会发送ajax请求,服务器返回数据,页面再进行展示。ajax的应用场景很多,可以说,现在和后端通信,基本都是使用ajax来进行了。ajax原理分析我们自己定义触发事件,在触发事件里面编写ajax代码当事件触发时,游览器将会发送ajax异步请求,本质还是http请求。

2024-06-19 03:50:02 726

原创 Android开发必会App启动优化

origin_url=C%3A%5CUsers%5Chh%E6%98%AF%E6%88%91%E5%95%8A%5CDesktop%5CCache_57f5cc0f73c34d73.jpg&pos_id=img-IGZ4yRwc-1718738369196)Application作为应用程序的整个初始化配置入口,有很多第三方组件(包括App应用本身)都在 Application 中做初始化操作,在Application中完成各种初始化操作和复杂的逻辑就会影响到应用的启动性能。延迟部分三方组件的初始化;

2024-06-19 03:19:40 725

原创 多账号统一登陆,怎么实现?

问题:用户体验差,需要完成获取验证码,填写验证码/密码/用户名等诸多的信息完成注册,然后才能使用;容易遗忘密码,遗忘后,只能通过忘记密码来重新设置密码。

2024-06-19 02:24:50 591

原创 Android原生开发-Binder

/ 自动生成// 补充接口。

2024-06-19 02:17:28 836

原创 Android主流三方库源码分析:Dagger2

例如:2个方法返回不同的Person对象,比如说小明和小华,为了区分,使用@Qualifier定义的注解类。使用它表示ChildComponent依赖于FatherComponent,如下所示:复制代码表示是一个子@Component,它能。

2024-06-19 01:48:02 688

原创 后端面试每日一题 保证幂等性

前端拦截使用数据库实现幂等性使用 JVM 锁实现幂等性使用分布式锁实现幂等性。

2024-06-19 01:41:02 424

原创 Android-Volley完全解析(一),初识Volley的基本用法!

Android开发团队也是意识到了有必要将HTTP的通信操作再进行简单化,于是在2013年Google I/O大会上推出了一个新的网络通信框架——Volley。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。

2024-06-19 01:14:23 559

原创 Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)

通过传入的activity对象,获得它的Class类型,判断是否写了ContentView这个注解,如果写了,读取它的value,然后得到setContentView这个方法,使用invoke进行调用;ContentView用于在类上使用,主要用于标明该Activity需要使用的布局文件。注解都写好了,核心的代码就是ViewInjectUtils.inject(this)了~// 查询类上是否存在ContentView注解。在成员变量上使用,用于指定View的Id。// 遍历所有成员变量。

2024-06-19 00:44:41 636

原创 关于子类能不能重写父类静态方法

System.out.println(“这是父类 public static void方法”);public static String test = “二儿子static变量”;public static String test = “父类static变量”;public static String test = “子类static变量”;System.out.println(“二儿子static方法”);System.out.println(“子类static方法”);

2024-06-19 00:41:10 219

原创 Android 框架练成 教你打造高效的图片加载框架

options里面存了实际的宽和高;reqWidth和reqHeight就是我们之前得到的想要显示的大小;经过比较,得到一个合适的inSampleSize;有了inSampleSize:// 使用获得到的InSampleSize再次解析图片经过这几行,就完成图片的压缩了。上述是本地图片的压缩,那么如果是网络图片呢?

2024-06-19 00:16:04 593

原创 从零开发短视频电商 仿抖音APP日期时间转换成xx秒前、xx分钟前、xx小时前

return year + “年前” + month + “月” + calendar.get(Calendar.DATE)return day + “天前” + calendar.get(Calendar.HOUR_OF_DAY) + “点”return “昨天” + calendar.get(Calendar.HOUR_OF_DAY) + “点”return “前天” + calendar.get(Calendar.HOUR_OF_DAY) + “点”return “刚刚”;1个月12天前7点9分。

2024-06-18 12:28:04 260

原创 为了弄懂分布式“花了整整三天”,我把分布式事务搞完了

比如有一个扣款服务,我需要写 Try 方法,用来冻结扣款资金,还需要一个 Confirm 方法来执行真正的扣款,最后还需要提供 Cancel 来进行冻结操作的回滚,对应的一个事务的所有服务都需要提供这三个方法。可以看到虽说 2PC 有缺点,但是还是有基于 2PC 的落地实现的,而 3PC 的引出是为了解决 2PC 的一些缺点,但是它整体下来开销更大,也解决不了网络分区的问题,我也没有找到 3PC 的落地实现。AT 第一阶段直接就把事务提交了,直接释放了本地锁,这么草率直接提交的嘛?

2024-06-18 08:39:20 540

原创 【零基础学Java】—Map集合概述(四十三)

作用:当Map集合一创建,那么就会在Map集合中创建一个Entry对象,用来记录键与值(键值对对象。//使用Map集合中的方法 entrySet(),把Map集和中的多个Entry对象取出来,存储到Set集合中。使用Map集合中的方法 entrySet(),把Map集和中的多个Entry对象取出来,存储到Set集合中。Set entrySet() 返回此映射中包含的映射关系的Set视图。//使用entry对象中的方法getkey()和getValue()获取键值。

2024-06-18 08:00:30 306

原创 【leetcode刷题】27

/将每个节点最大直径(左子树深度+右子树深度)当前最大值比较并取大者。给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。,函数返回该节点为根的子树的深度。先递归调用左儿子和右儿子求得它们为根的子树的深度。返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。,则该节点为根的子树的深度即为。我们定义一个递归函数。

2024-06-18 07:24:51 367

原创 「实操」线上CPU爆满,一次提桶跑路的经历

定位线上环境问题在工作中非常有用,比如有用户反馈一个问题,你老大丢了一些服务器配置给你,让你定位一下,如果你都不知道该看啥,又不好意思问,是不是也会很尴尬…当然除了工作中的需要,这类问题在面试中也经常会被问到,流利的回答可以让面试官觉得你这小伙不是背面试题的,而是真正的用过,工资也能多拿两百块钱吧。

2024-06-18 06:49:18 672

原创 《零基础》MySQL GROUP BY 语句(十九)

GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

2024-06-18 06:11:09 427

原创 《游戏学习》Java实现的开心农场简易版源码以及素材

/土地最后一次操作时间。button_1.setIcon(new ImageIcon(“img/播种.png”));button_2.setIcon(new ImageIcon(“img/生长.png”));button_3.setIcon(new ImageIcon(“img/开花.png”));button_4.setIcon(new ImageIcon(“img/结果.png”));button_5.setIcon(new ImageIcon(“img/收获.png”));

2024-06-18 05:36:58 736

原创 《冰河的渗透实战笔记》电子书,442页,37万字,正式发布!!

平时我会在我的公众号(冰河技术,大家可以关注下)和博客里分享一些渗透相关的文章,不少小伙伴也在公众号后台留言让我系统整理下。本书为冰河总结的渗透实战笔记,没有太多的哗众取巧的修辞手法和夸张的图片描述,有的仅仅是纯技术实战的干货笔记内容,经过精挑细选整理而成的电子书,本书以实战的方式列举了大量骇客们使用的攻击方式,绝大部分来自于冰河自身总结的成果,少部分来源于互联网,并经冰河亲自验证整理。另外,信息安全一直都是互联网行业一个非常重要的话题,很多时候,不得不说,那些肆意破坏网络环境的骇客们有着很强的技术能力。

2024-06-18 04:58:52 790

原创 《MySQL必知必会》读书笔记 —— 第19章 插入数据、第20章 更新和删除数据、第21章 创建和操纵表

语句,它完成相同的工作,但速度更(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)。很明显这样做是比较安全的,但是如果确实想要即使某一行发生了错误,也不妨碍其余行的更新,就可以使用。谓的INSERT SELECT,顾名思义,它是由一条INSERT语句和一条SELECT。这种做法没有必要给出所有列,而且不需要知道列的顺序,只需要知道有哪些列即可。这样的插入不介意使用,一方面它依赖列的顺序,而且必须给出所有列的值。顾名思义,INSERT是用来插入(或添加)行到数据库表的。

2024-06-18 04:27:58 899

原创 《java学习笔记》之数组

数组。

2024-06-18 03:58:32 383

原创 [JAVA基础类库] String类 ○ StringBuffer类 ○ StringBuilder类

作用:返回字符串长度比较简单,就不详细介绍了,出现频率非常高数组里面的length是属性,这里的length()是方法;作用:判断前面的字符串是否包含后面的字符串参数 :s - 搜索的顺序 (CharSequence是一个接口,String类已实现,所以可以传入一个字符串)结果 :如果此字符串包含 s , 则为 true,否则为 false例如:// 输出true// 输出false。

2024-06-18 02:41:00 242

原创 Spring(二十):ObjenesisCglibAopProxy

从代码上可以看到,对于拦截器链,是CglibAopProxy里面的一个ProxyCallBackFilter,该内部类实现了CallbackFilter接口(Cglib的接口),那么对应的肯定会实现accept方法,先来说一下这个CallbackFilter的作用,顾名思义它是一个过滤接口,用来过滤回调的方法的,说白了,accept方法可以给方法自定义要执行的增强器,即哪些方法执行对应的增强器。

2024-06-18 02:06:12 684

原创 SpringBoot项目中集成EasyExcel实现Excel文件上传至MySQL

这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。// 这里一定别忘记关闭,读的时候会创建临时文件,到时磁盘会崩。// 每隔1000条存储数据库,然后清理list,方便内存回收。通过easy excel上传excel数据至mysql。能通过注解的方式,在编译时自动为属性生成。方法,但是在编译生成的字节码文件中有。函数,除了传流、实体类还有监听类。出现的神奇就是在源码中没有。的信息相对应,这里也用了。// 存储解析excel条数。这里的实体类是是与上传的。上传Excel的监听类。

2024-06-18 01:33:56 318

原创 Spring Data JPA 通过不同的方式实现查询操作

有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。我们可以简单的理解为,Specification构造的就是查询条件。对于equal方法:直接得到path对象,然后进行比较即可,但是对于gt,lt,ge,le,like想要得到path对象,需要根据path指定比较参数的类型,3.通过控制参数(root:比较的属性,cb:查询的方式),实现匹配,获得Predicate对象。

2024-06-18 01:05:04 366

原创 Servlet+JSP(七):Service和doGet和doPost方法的区别

不管是get方式还是post方式的请求,如果Servlet类中有 service方法,则优先调用Service方法。在没有service方法的情况下如果是post方式的请求所调用的处理请求的方法。在没有service方法的情况下如果是get方式的请求所调用的处理请求的方法。System.out.println(“我是doPost方法”);System.out.println(“我是doGet方法”);Service方法和doGet方法和doPost方法的区别。处理get方式的请求。

2024-06-17 21:29:01 312

原创 RabbitMQ 简使用案例(1)

System.out.println(“连接成功”);System.out.println(“连接失败”);//设置账号信息,用户名、密码、vhost。第五步:消费者从队列中获取消息。第四步:生产者发送消息到队列。// 获取到连接以及mq通道。// 获取到连接以及mq通道。// 通过工程获取连接。第三步:启动本地服务端。// 从连接中创建通道。// 声明(创建)队列。// 从连接中创建通道。

2024-06-17 20:58:07 518

原创 MySQL日期和时间函数汇总

以’YYYY-MM-DD hh:MM:ss’或YYYYMMDDhhmmss格式返回当前日期和时间,具体取决于函数是在字符串上下文中使用还是在数字上下文中使用。expr1和expr2是日期或日期和时间表达式。| TIMESTAMP() | 对于单个参数,此函数返回日期或日期时间表达式;| TO_SECONDS() | 返回从0年起转换为秒的日期或日期时间参数 || TIMESTAMPDIFF() | 从日期时间表达式中减去间隔 || UTC_TIMESTAMP() | 返回当前UTC日期和时间 |

2024-06-17 20:23:04 887

原创 MongoDB 设置用户名密码登录(1)

use foo表示用户在 foo 库中创建,就一定要 foo 库验证身份,即用户的信息跟随随数据库。比如上述 simpleUser 虽然有 bar 库的读取权限,但是一定要先在 foo 库进行身份验证,直接访问会提示验证失败。由于网络配置因人而异,需要根据自己实际环境进行配置,不作冗述。参数默认可以不加,若有自定义参数,才要加上,下同。权限:读写数据库 foo, 只读数据库 bar。然后,断开 mongodb 连接, 关闭数据库。客户端连接时,指定用户名,密码,db名称。现在有两种方式进行用户身份的验证。

2024-06-17 19:54:46 399

原创 LeetCode - Easy - 278

【代码】LeetCode - Easy - 278。

2024-06-17 19:25:10 386

原创 Java阻塞式线程同步队列BlockingQueue,SynchronousQueue和TransferQueue

后面生产者线程若把数据元素放入队列时发现有一个元素为null的节点,生产者线程就不直接入队,而是直接将该数据元素填写到该节点,并唤醒在该节点上处于等待状态的线程,消费者线程被唤醒后,它就取走数据元素。阻塞通常就是发生在元素从一个线程transfer到另一个线程过程中发生,它有效地实现元素在线程之间的传递。常用于阻塞式的同步数据传递,类似“管道”。SynchronousQueue的队列长度为0,SynchronousQueue的队列状态只能有一个数据元素或没有没有数据元素。具有优先级的阻塞式同步队列。

2024-06-17 18:54:06 188

原创 Java描述 数据结构与算法

在任何一种特定计算模型下,对于任一可有效解决的问题,任何算法的时间复杂度都 不可能低于某一范围,我们称之为该问题在这一计算模型下的复杂度下界,或简称该问题的下界。我们可以取 x = S[0]、y = S[1]和 z = S[ 2],这只需执行三次基本操作,耗费 O(3)时间。因此,无论 S 的规 模有多大,在前三个元素 S[0]、S[1]和 S[2]中,必包含至少一个非极端元素。运行时间为: T(n) = O(3) + O(3) + O(1) = O(7) = O(1)

2024-06-17 18:24:52 922

原创 Java基础 - 代码块,继承,方法重写,final

A:什么是方法重写重写:子父类出现了一模一样的方法(注意:返回值类型可以是子父类,这个我们学完面向对象讲)B:方法重写的应用:当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。

2024-06-17 17:55:09 259

原创 Javaweb 学习记录—JSP语法

page 指令一般位于 JSP 页面的开头部分,在一个 JSP 页面中, page 指令可以出现多次,但是在每个 page 指令中,每一种属性却只能出现一次,重复的属性设置将覆盖掉先前的设置。| buffer | 指定输出流是否需要缓冲,默认值是8kb,与autoFlush一起使用,确定是否自动刷新输出缓冲,如果设成true,则当输出缓冲区满的时候,刷新缓冲区而不是抛出一个异常 |JSP 不会对 之间的语句进行编译,它不会显示在客户端的浏览器上,也无法从源文件中看到。

2024-06-17 17:17:33 921

原创 Java 18 要来了,你不会还在用Java 8吧

通过有效地调用外部函数(即 JVM 外的代码),并安全地访问外部内存(即不由 JVM 管理的内存),外部函数和内存 API 使 Java 程序能够调用本机库并处理本机数据,而不具有 JNI 的脆弱性和危险。在 java.lang.invoke 的方法句柄之上,重构 java.lang.reflect 的方法、构造函数和字段,使用方法句柄处理反射的底层机制将减少 java.lang.reflect 和 java.lang.invoke 两者的 API 维护和开发成本。个短期功能版本,只支持六个月。

2024-06-17 16:46:49 377

原创 Flask使用Flask-WTF表单

username = StringField(“用户名:”, validators=[validators.DataRequired()])password = PasswordField(“密码:”, validators=[validators.DataRequired()])submit = SubmitField(“提交”)定义了一个登录的form表单,其中有输入用户名和密码的文本框和一个表单提交按钮。除了上面定义的字段和验证规则外,还有一些常用的字段和验证规则,如下表。

2024-06-17 16:13:26 440

原创 B+树真的不难,楼下菜大爷都能学得会的B+树!(数据结构可视化神器推荐)

B树其实最开始源于的是二叉树,二叉树是只有左右孩子的树,当数据量越大的时候,二叉树的节点越多,那么当从根节点搜索的时候,影响查询效率。B_树是B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的指针;可以看出,在B树里面的比较次数也很多,但是❗减少了I/O操作,因为B树可以减少树的高度,也就减少了磁盘读写次数,在实际应用场景,B树对性能的提升非常明显。| B+树 | 在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;讲b+树前,先调查一下它的血亲!

2024-06-17 15:35:37 522

原创 478 页 Java 工程师面试知识解析笔记 pdf

Java 程序员高频面试解析及知识点体系笔记。

2024-06-17 14:56:30 239

原创 10章MySQL:库的创建、修改、删除

mysql8中,默认的字符集是utf8CREATE DATABASE 数据库名 CHARACTER SET 字符集;推荐CREATE DATABASE IF NOT EXISTS 数据库名;如果MySQL中已经存在相关的数据库,则忽略创建语句,不再创建数据库。如果不存在数据库test01,则创建一个字符集为utf8的数据库注意:DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成的。

2024-06-17 14:21:55 219

空空如也

空空如也

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

TA关注的人

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