<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mart1nn的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mart1nn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mart1nn]]></copyright><item><title><![CDATA[【推荐码】腾讯游戏算法大赛]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/151994166</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/151994166</guid><author>Mart1nn</author><pubDate>Tue, 23 Sep 2025 11:37:47 +0800</pubDate><description><![CDATA[依托腾讯游戏平台，聚焦游戏AI场景下的核心技术挑战，分设3D运动重建、高性能AI渲染、数智决策科学三大赛道，旨在发掘和培养新生代游戏算法顶尖人才，促进AI技术在游戏中的创新应用。同学你好，腾讯AI算法大赛正在火热报名中，快复制我的邀请码：DRC2DV5K，登录官网(https://tgac.tencent.com)粘贴并报名吧！腾讯游戏算法大赛由腾讯互娱招聘主办，是面向海内外全日制在校大学生的游戏前沿技术算法竞赛。]]></description><category></category></item><item><title><![CDATA[Java中反射的作用]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/105070898</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/105070898</guid><author>Mart1nn</author><pubDate>Tue, 24 Mar 2020 19:05:52 +0800</pubDate><description><![CDATA[反射的主要作用就是获取JVM中的Class对象，获取了对象之后可以实现很多功能，比方说IOC容器通过反射创建对象、或者是动态代理（这个实际应用讲完反射原理后稍微再讲一下）。
一、获取Class对象的三种方式：
如何获取Class对象呢？有三种情况：

Java代码仅经过编译生成了字节码文件，还未加载到内存中
Java代码加载到了内存中，但是还未创建对象实例
已经创建了对象实例

针对这三种情况分别...]]></description><category></category></item><item><title><![CDATA[SpringBoot通过JUnit测试时报错:java.lang.NullPointerException]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/103088310</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/103088310</guid><author>Mart1nn</author><pubDate>Fri, 15 Nov 2019 17:20:21 +0800</pubDate><description><![CDATA[问题描述：
最近尝试SpringBoot整合Shiro，自定义的Realm中查询用户信息时一直报空指针异常；
单独测试了一遍service层（查询并封装到User对象中）是没有问题的；
项目描述：
SpringBoot项目，简单分成Entity/Service/Mapper/Controller层；
项目用到的ORM框架是Mybatis；
Realm如下
@Autowired
private Te...]]></description><category></category></item><item><title><![CDATA[Type interface xxxMapper is not known to the MapperRegistry]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/101696250</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/101696250</guid><author>Mart1nn</author><pubDate>Sun, 29 Sep 2019 16:00:28 +0800</pubDate><description><![CDATA[出错的可能原因主要有以下:

1、mybatis-config.xml中引入相应xxxMapper.xml时报错

2、xxxMapper.xml中的namespace写错，namespace应绑定到相应的mapper接口

3、以上都没问题的话可以看一下编译生成文件中有没有xxxMapper.xml，我的问题就是编译后的classes中没有xxxMapper.xml，IDEA可以通过build-...]]></description><category></category></item><item><title><![CDATA[Java虚拟机]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/100840657</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/100840657</guid><author>Mart1nn</author><pubDate>Sun, 15 Sep 2019 01:32:52 +0800</pubDate><description><![CDATA[Java虚拟机大致可以分为以下几块内容

一、类的加载机制

​		类的加载是指将.class文件中的二进制数据读入内存中，将其放在运行时数据区的方法区内，然后在堆区创建一个java.lang.class对象，用来封装类在方法区内的数据结构。类加载的最终产品是位于堆区中的Class对象，Class对象封装了类在方法区内的数据结构，并且向Java程序员提供了访问方法区内的数据结构的接口。

加载c...]]></description><category></category></item><item><title><![CDATA[Java动态代理]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/100788426</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/100788426</guid><author>Mart1nn</author><pubDate>Fri, 13 Sep 2019 01:45:05 +0800</pubDate><description><![CDATA[代理模式是设计模式的一种。动态代理的特点就是编译阶段不生成代理类，运行时生成代理类。常见的动态代理有两种，JDK动态代理和CGLIB动态代理。JDK动态代理是基于反射机制实现的，cglib动态代理是基于asm实现的



jdk动态代理的实现  
jdk动态代理主要需要用到InvocationHandler接口和Proxy类，都在java.lang.reflect包中
每一个动态代理类都需要实现...]]></description><category></category></item><item><title><![CDATA[IDEA错误: 找不到或无法加载主类解决方法]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/100511323</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/100511323</guid><author>Mart1nn</author><pubDate>Tue, 03 Sep 2019 09:59:53 +0800</pubDate><description><![CDATA[我在启动Spring Boot项目的时候报了这个错误，后来发现是由于编译时没有将启动类Application.java进行编译，编译后的生成目录中没有.class文件导致
以下仅仅是我遇到的问题及解决办法，但是“找不到或无法加载主类”一般都是找不到class文件，都可以看看有没有生成class文件、编译输出目录是否正确等

这是我的项目结构，lemon是maven父项目，我把里面东西都删了，然后...]]></description><category></category></item><item><title><![CDATA[bootstrapTable通过rowspan/colspan合并单元格]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/99739100</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/99739100</guid><author>Mart1nn</author><pubDate>Tue, 20 Aug 2019 01:03:17 +0800</pubDate><description><![CDATA[行列数量、名称已经确定

入门版本

&lt;!--数据展现部分--&gt;
&lt;table id="table"&gt;
&lt;/table&gt;
&lt;script&gt;
$("#table").bootstrapTable({
  columns: [
    [
      {'title': '', 'colspan':2},
      {'title': '综合', 'c...]]></description><category></category></item><item><title><![CDATA[数据库索引的原理]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/99115934</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/99115934</guid><author>Mart1nn</author><pubDate>Sat, 10 Aug 2019 22:55:16 +0800</pubDate><description><![CDATA[我们从盘古开天辟地讲起

1、首先数据库中的数据是以什么样的形式存储在我们的设备中呢？

一个表是由几个字段的数据组成，虽然我们看上去这些数据都有序地、“一行一行地”存在表中。但是事实上，物理存储中的这些数据可能分散在不同的数据块中。比如（id=1, name='martin',age=22,sex=1），要找到martin这个人的信息，在查找的时候先找到第一个数据（id=1）所在的数据库地址，然...]]></description><category></category></item><item><title><![CDATA[zookeeper启动zkServer闪退]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/94759131</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/94759131</guid><author>Mart1nn</author><pubDate>Fri, 05 Jul 2019 20:08:28 +0800</pubDate><description><![CDATA[环境：win10+zookeeper3.4.14

问题：双击zkServer启动服务闪退

解决办法：进入conf目录，将zoo_sample.cfg改为zoo.cfg即可
]]></description><category></category></item><item><title><![CDATA[java中的valueOf与parseXXX有啥区别]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/89737490</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/89737490</guid><author>Mart1nn</author><pubDate>Wed, 01 May 2019 14:33:57 +0800</pubDate><description><![CDATA[以Byte类中的valueOf和parseByte为例

valueOf是转换为Byte封装类型

而parseByte是转换为byte基本数据类型

看一下jdk1.8的部分源码


/**
* Byte类中构造了一个缓存，将-128-127这256个数存放在cache数组中
* 数组下标为0-256
*/
private static class ByteCache {
    private...]]></description><category></category></item><item><title><![CDATA[硬件发送url后通过ajax+servlet实现轮寻内存中的数据]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/89684849</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/89684849</guid><author>Mart1nn</author><pubDate>Mon, 29 Apr 2019 23:39:50 +0800</pubDate><description><![CDATA[最近的一个项目需要多个硬件设备发送带参数的url，我们能在web页面实时显示所有参数。

如url：localhost:8080/webtest?id=1&amp;status=2，我们需要把id以及status读取出来实时传递到页面

很明显，url访问servlet，但是服务器不能主动向jsp页面推送数据，所以我们这里用了ajax（当然你对websocket很熟悉也是可以用的，顺便说一句，老哥...]]></description><category></category></item><item><title><![CDATA[将java项目(非web)打包并发布到服务器上运行]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/89527614</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/89527614</guid><author>Mart1nn</author><pubDate>Sat, 27 Apr 2019 01:17:32 +0800</pubDate><description><![CDATA[最近需要将一个用了websocket和netty的java服务端项目放在服务器上，然后由我们的硬件设施发送数据给服务端

先匿了自己的服务器ip，就假设为128.219.147.135吧，我的服务器是Ubuntu 18.10系统

一、我们需要在远程服务器上下载jre。（jre是java程序运行时需要的环境，包含了jvm和java核心类库；而jdk是java开发的工具包，包含了jre、java工具...]]></description><category></category></item><item><title><![CDATA[JSP入门基础]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/89340389</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/89340389</guid><author>Mart1nn</author><pubDate>Tue, 16 Apr 2019 20:19:12 +0800</pubDate><description><![CDATA[JSP简介：JSP全称是Java Server Page，是sun公司发布的跨平台的技术标准，用于动态的web开发，是基于Java Servlet模型的视图层技术，JSP是Servlet的扩展。由JSP标记、HTML标记和java代码组成。
	JSP运行原理：
当一个jsp文件第一次被请求时，jsp引擎把jsp文件转换成一个Servlet源文件即.java文件（jsp引擎本身也是一个Servlet...]]></description><category></category></item><item><title><![CDATA[Spring框架xml显式配置bean]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/89016415</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/89016415</guid><author>Mart1nn</author><pubDate>Fri, 05 Apr 2019 14:25:24 +0800</pubDate><description><![CDATA[Spring框架提供了三种bean的装配方法：xml显式装配、javaConfig显式装配、注释隐式装配

我用一个简单的例子来说明xml配置

(代码已经上传到github上了：传送门)



DBHelper


package utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql....]]></description><category></category></item><item><title><![CDATA[mac在terminal中切换不同的jdk版本]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/88684134</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/88684134</guid><author>Mart1nn</author><pubDate>Wed, 20 Mar 2019 12:10:19 +0800</pubDate><description><![CDATA[终端中输入以下来查看当前jdk版本


java -version

终端中输入以下来查看已安装的jdk版本（V注意大写）


/usr/libexec/java_home -V

我的结果如下



接下来是配置环境变量java_home，操作如下

1、touch .bash_profile（创建文件，若已创建可以忽略，在finder-home页中command+shift+.可以显示隐...]]></description><category></category></item><item><title><![CDATA[mac第一次打开eclipse报错see .metadata/.log]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/88675217</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/88675217</guid><author>Mart1nn</author><pubDate>Tue, 19 Mar 2019 23:49:43 +0800</pubDate><description><![CDATA[下载了jdk11，idea用的还不熟练，又急着用就再下回了eclipse oxygen3，没想到

打开这个日志文件查看发现错误大都是ClassNotFound类型的错误

（mac上 command + shift + . 三个键同按可以看到隐藏目录，再按则重新隐藏）

在博客上看了很久发现大家几乎都是jdk8更新到之后的版本出的问题

第一种呢是jdk8更新到9，解决方案是在eclipse...]]></description><category></category></item><item><title><![CDATA[Spring简易入门]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/88258583</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/88258583</guid><author>Mart1nn</author><pubDate>Thu, 07 Mar 2019 14:47:25 +0800</pubDate><description><![CDATA[想直接上手代码的可以先看第二部分。

目录

一、理论基础

二、实战

一、理论基础

Spring是一个轻量级、低侵入性的java ee开源框架。这句话都知道，那么我们先来科普一下。

1、什么是轻量级？

轻量级框架是指那些不需要依赖容器就能运行的框架，比方说都知道EJB是个重量级框架，需要依赖于JBoss等容器；而Spring，Mybatis等都是不需要依赖容器的轻量级框架。

2、什么是...]]></description><category></category></item><item><title><![CDATA[gittalk报错Error:Not found]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/87478971</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/87478971</guid><author>Mart1nn</author><pubDate>Sat, 16 Feb 2019 22:48:57 +0800</pubDate><description><![CDATA[最近通过github和jekyll搭了一个博客，申请使用了gittalk的评论。

但是博客的页面一直报Error:Not found，如下

发现是gittalk中的信息填写错了，name随便写；Homepage URL是你的仓库的名字，Authorization callback URL如果你指向了新

的域名就填新的，比如说我指向了域名www.mart1n.cn；否则也写仓库的名字就可以。
...]]></description><category></category></item><item><title><![CDATA[github clone慢]]></title><link>https://blog.youkuaiyun.com/Mart1nn/article/details/87183389</link><guid>https://blog.youkuaiyun.com/Mart1nn/article/details/87183389</guid><author>Mart1nn</author><pubDate>Wed, 13 Feb 2019 15:35:11 +0800</pubDate><description><![CDATA[博主近日需要从github上clone下来一个项目，被10kb/s异常稳定的速度震惊了，彻夜未眠，而后找到了这个方法，速度提升到了稳定的30kb/s，整整提升了两倍有余！（滑稽.jpg）言归正传，用处不大，但是学到了新东西，所以记录一下。

打开terminal输入nslookup github.com

ItleaksdeMacBook-Pro:projects itleaks$ nslooku...]]></description><category></category></item></channel></rss>