java
C位出道_2022
这个作者很懒,什么都没留下…
展开
-
java中try、catch、finally中带有return
我们知道在异常处理中try、catch、finally是按顺序执行的,就是如果try中没有异常,顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。但是当try、catch、finally中加入return之后,就会有几种不同的情况出现,下面分别来看一下。为什么写这篇博客呢?因为今天刷抖音刷到了这道题,发现评论区很多人都错了,我们来看一下原题:public static int return1(){ int a = 1; t原创 2022-02-03 12:43:10 · 7736 阅读 · 3 评论 -
java中的String为什么是不可变的
我们都知道在java中String是不可变的那么什么叫不可变?百度百科给出:在面向对象及函数编程y语言中,不可变对象是一种对象,在被创造之后,它的状态就不可以被改变。我们可理解为:一个对象创建完成之后,它的状态就不能再改变,包括的对象里面的成员变量,基本数据类型的值都不能改变,这样就叫做不可变对象理解定义不叫简单,但是实际情况下我们总会混淆引用与对象,进而以为String可变,比如下面代码: String s = "abc"; System.out原创 2022-01-24 16:13:00 · 1266 阅读 · 0 评论 -
java中char类型数据运算
我们来看一下这段代码 char a = 121; char b = 122; System.out.println(a); System.out.println(b); System.out.println(a + b);这段代码的运行结果:前两行输出就是变量赋值对应的字符,但是最后一个加法输出为什么直接输出了两个数字的和呢?为什么这里直接转成整数类型来计算了呢?我们在很多地方都听过char类型的运算会转原创 2022-01-19 18:10:28 · 1031 阅读 · 0 评论 -
java反射类方法
今天看java核心卷1,看到了反射中的一段代码,试着运行了一下感觉瞬间头脑清楚多了,不像原来的无头苍蝇,东一榔头西一棒槌public class ReflectionTest { public static void main(String[] args) { String name = "com.java.easy.User"; try { Class cl = Class.forName(name); Clas原创 2022-01-15 19:31:39 · 135 阅读 · 0 评论 -
类的初始化顺序demo
分享一个类的加载初始化代码demo,这段代码考察类中内容的加载顺序,很有意思一起钻研走一下public class InitializeDemo { private static int k = 1; private static InitializeDemo t1 = new InitializeDemo("t1"); private static InitializeDemo t2 = new InitializeDemo("t2"); private sta原创 2022-01-15 15:08:03 · 203 阅读 · 0 评论 -
128陷阱
128陷阱指的是什么?看一下下面的代码 Integer a = -128; Integer b = -128; Integer c = 128; Integer d = 128; System.out.println(a==b); System.out.println(c==d);输出是 true 和false为什么赋值128的时候会是false呢?不都是128吗?赋值-128怎么就true了呢?原创 2022-01-15 11:30:29 · 135 阅读 · 0 评论 -
BCryptPasswordEncoder 注册以及忘记密码
注册:@ResponseBody @PostMapping("/register") public ResultJson saveOrUpdate( String username,String password,String aginPassword){ if(!password.equals(aginPassword)){ //后端验证两次密码输入是否正确 return ResultJson.failu原创 2021-08-11 22:26:29 · 1670 阅读 · 0 评论 -
java登录验证(session机制)
@RequestMapping("login") public String login(Model model, @RequestBody Member member) { Site site = frontUtils.loadSite(); List<Member> members = memberService.getMembers(member); if(members.size()>0){ htt..原创 2021-08-08 19:27:56 · 2181 阅读 · 0 评论 -
java重载和重写的区别
重载:(1)发生在同一个类中,方法名必须相同 (2)参数类型不同,个数不同,顺序不同 (3)方法返回值和访问修饰符可以不同,发生在编译时 简单而言:重载就是对于不同的情况写不同的方法。 比如,同一个类中, 写不同的构造函数用于初始化不同的参数。重写:(1)发生在父子类中,方法名,参数列表必须相同 (2)返回值类型小于等于父类 ...原创 2021-10-02 14:11:36 · 108 阅读 · 0 评论 -
ArrayList和LinkedList的区别
ArrayList:基于动态数组,连续内存存储,适合下标访问(随机访问),扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后复制一份,插入新元素),使用尾插法并指定初始容量可以极大提升性能、甚至超过LinkedList(需要创建大量的node对象),ArrayList更适合随机查找LinkedList:基于链表,可以存储在分散的内存中,适合做数据插入及删除操作,不适合查询:需要逐一遍历,遍历LinkedList必须原创 2021-10-01 23:17:02 · 67 阅读 · 0 评论 -
HashMap和HashTable的区别和底层实现
HashMap和HashTable的区别和底层实现区别:(1)HashMap方法没有synchronized修饰,是现成不安全的,HashTable现成安全(2)HashMap允许key和value为null,HashTable不允许底层实现:数组+链表JDK8开始链表高度到8、数组长度超过64链表转变为红黑树,元素以内部类Node节点存在计算key和hash值,二次hash然后对数组长度取模,对应到数组下标如果没有产生hash冲突(下标位置没有元素),则直接创建Node存入数组如果产生h原创 2021-10-01 22:44:29 · 80 阅读 · 0 评论 -
java中equals和==的区别
Java中所有的类都是继承与Object这个基类的,在Object类中定义了一个equals方法,这个方法的初始行为是比较对象的内存地址,但在一些类库中已经重写了这个方法(一般都是用来比较对象的成员变量值是否相同),比如:String,Integer,Date 等类中,所以他们不再是比较类在堆中的地址了我们经常在比较字符串的时候用equals,总想当然认为equals比较的是引用存储地址指向的实际值,其实并不是,因为String重写了equals方法。对于引用数据类型之间进行equals比较,在没有原创 2021-09-26 13:01:13 · 64 阅读 · 0 评论 -
java 自动装箱、拆箱
这是jdk1.5以后才引入的新的内容我们知道int是基本类型,Integer是int的包装类是引用类型的一、自动装箱我们定义一个int类型的变量很简单:int num = 10;而原则上定义一个引用类型的数要new一个对象出来:Integer num = new Integer(10);自动装箱就是:Integer num = 10;10就是一个基本的类型却可以直接赋值给Integer,但jdk1.5后你就可以进行这样的声明,这就是自动装箱二、自动拆箱//原创 2021-09-25 23:33:28 · 126 阅读 · 0 评论 -
java根据指定路径(或者指定文件名字)创建文件
一、创建文件的思路:判断路径是否存在,不存做就先创建路径,然后再创建文件细致分两种情况: 1.路径中不包括文件名字(另外单独给出文件名字) 例如:D:\user 2.路径中包括文件名字例如:D:\user\demo.html二、代码: 第一种情况:/** * 通用文件添加操作 * @param * @return */ pu...原创 2021-07-15 23:31:05 · 7473 阅读 · 0 评论 -
java读取properties文件连接数据库
再网上找的现成的jdbc工具类,我们发现数据库的连接信息都是写进方法的,如果要修改要找到方法取里面修改,这样的后果就是代码显得不"高级",高耦合为了降低耦合我们可以将url等信息写在一个properties文件里面,读取文件动态赋值properties文件的格式就是key:value的格式,类似于mapproperties文件:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/xxxx?useSSL=false&原创 2021-08-24 19:14:58 · 424 阅读 · 0 评论 -
【项目总结】融媒体会议
融媒体会议项目总结1.项目简介:会易云-会议融媒体中心是一种集会议专题定制化、视频、照片、速记、图文、互动等一体的管理系统!会易云一站式会议宣传解决方案,赋能每一个有价值的大会。集文章、照片、视频多种传播形式与一身,打造会议新场景。2.项目涉及技术:架构体系:分布式多模块后端开发:SpringBoot权限管理:SpringSecurity单点登录:JWT数据库:Mysql-8.0缓存系统 :Redis持久层框架 :Mybatis-plus定时任务:Quartzpc端前台开发原创 2021-08-16 17:26:13 · 132 阅读 · 0 评论 -
微信扫码登录
获取临时域名,配置公众号信息等参考:微信公众号网页授权登录_m0_53611007的博客-CSDN博客不过扫码登录要配置的是:如果微信服务器请求这个url时 自己在这里设置的token与接口不对应时无法配置成功的这个接口代码如下:@RequestMapping ("/checkSign") public String checkSign ( HttpServletRequest request) throws Exception { //获取微信请求参数.原创 2021-08-16 19:35:39 · 267 阅读 · 0 评论 -
微信公众号网页授权登录
1.关于Oauth2.0首先要简单了解一下Oauth2.0,Oauth2.0是一种授权机制,主要用来颁发令牌1.简单解释 :OAuth 2.0 的四种方式 - 阮一峰的网络日志 (ruanyifeng.com)2.微信登录用到的是第一种方式:授权码就可以看到本地服务器要和微信服务器有互动的所以要通过内网穿透获取临时域名2.配置内网穿透1.使用NATAPP网站配置隧道,获取本地电脑的临时域名。 2.参考:NATAPP1分钟快速新手图文教程 -...原创 2021-08-16 19:07:40 · 765 阅读 · 0 评论 -
java 发送邮箱验证码简单demo
1.引入依赖<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version></dependency>代码 public static void mail(String to, String subject, String content原创 2021-08-08 19:21:21 · 290 阅读 · 0 评论