java慢慢来
文章平均质量分 63
长安start
这个作者很懒,什么都没留下…
展开
-
IDEA中的Structure使用
表示展示的顺序按照访问权限从public到private的格式展示;(注意:单独使用只会展示修饰符为public的属性字段,想要展示其他访问修饰符的字段需要结合下面说到的红色锁来实现);点击右侧代码中的属性和方法时,左侧的structure中对应的属性和方法跟着滚动定位;会展示实现的接口类和继承的抽象类,把所有的实现方法收缩在其中;展示所继承的方法,包括所继承的object方法;···· #红色关闭的锁表示为private;···· #绿色打开的锁代表public;会展示类中所有属性的get、set方法;原创 2022-10-21 19:44:25 · 2134 阅读 · 1 评论 -
数据结构
链式结构是不连续的,通过遍历才可以得到想要的值,查找麻烦;链式结构前一个数据元素携带后一个元素的指针,可以指向下一个元素,所以增加元素,数据只需要改变前一个数据的指针和要加进来的元素本身携带的下一个元素的指针即可。有下标,通过下标可以得到想要的值。但如果要增删,如果在中间增加一个值,增加的这个值之后的所有值的位置都得后移,所以很浪费效率。数据结构在物理储存空间上,只分为顺序结构和链式结构。原创 2022-09-15 09:47:37 · 207 阅读 · 0 评论 -
shiro笔记
先创建过滤器对象,过滤器对象设置了管理器对象、过滤器对象同时可以设置接口权限、跳转login页面等,配置好的管理器对象要关联realm对象。大致思路就是过滤器设置访问接口需要的访问权限,用户登录是就对该用户先进行认证,认证成功后授予访问权利,这用用户就可以访问有权访问的权利。realm对象 给当前用户授权和进行认证两个逻辑功能。认证逻辑中有两个逻辑判断用户名和验证密码两个逻辑。securityManager 安全管理器对象 安全管理器对象关联realm对象。访问某个接口时,就会先执行授权逻辑。原创 2022-09-11 10:34:36 · 362 阅读 · 0 评论 -
loop 循环
java中loop只是continue和break的标记。可以在多层嵌套循环中,跳出到指定层。否则只能跳出当前循环。原创 2022-08-26 22:56:45 · 341 阅读 · 0 评论 -
==和equals
注:不过,我们可以根据情况自己重写该方法。一般重写都是自动生成,比较对象的成员变量值是否相同。引用类型:默认情况下,比较的是地址值。引用类型:比较的就是地址值是否相同。基本类型:比较的就是值是否相同。原创 2022-08-21 21:23:09 · 71 阅读 · 0 评论 -
mysql一次重构
mysql原创 2022-08-02 18:15:39 · 187 阅读 · 0 评论 -
Spring + SpringMVC + SpringBoot 注解
Spring + SpringMVC + SpringBoot 注解Spring + SpringMVC + SpringBoot创建对象的:@Controller: 放在类的上面,创建控制器对象,注入到容器中@RestController: 放在类的上面,创建控制器对象,注入到容器中。 作用:复合注解是@Controller , @ResponseBody, 使用这个注解类的,里面的控制器方法的返回值 都是数据@Service :原创 2022-05-15 18:25:03 · 122 阅读 · 0 评论 -
springboot_tymeleaf
依赖< dependency>< groupId>org.springframework.boot</ groupId>< artifactId>spring-boot-starter-thymeleaf</ artifactId></properties配置#配置 Thymeleaf#开发阶段设置为 false ,上线后设置为 truespring.thymeleaf.cache=false# 设置模版文件的路径,前缀原创 2022-05-15 18:23:20 · 168 阅读 · 0 评论 -
【无标题】springboot
SpringApplication.run(Application.class, args);run方法执行后会得到spring容器,spring容器在根据添加到类上的注解操作、执行类。两种容器配置方式 xml方式 、config方式xmlspring xml配置容器 spring中提到过ApplicationContext ctx=new ClassPathXmlApplicationContext();configjavaconfig配置容器 ApplicationContext ctx =原创 2022-05-14 22:35:51 · 255 阅读 · 0 评论 -
redis
Redis 是基于 key-value 结构的作为 作为 缓存使用的 无关系数据库redis是由一个全局hash表存储所有键和值得关系。值存的为对象的地址。Key 字符类型,其值(value)可以是字符串(String), 哈希(Map),列表(list), 集合(sets) 和有序集合(sorted sets)等类型也被称为数据结构服务器启动服务端 redis-server启动客户端 redis-cliRedis 客户端发送命令,同时显示 Redis 服务器的处理结果在redis 默认为原创 2022-05-11 01:14:05 · 162 阅读 · 0 评论 -
springMVC
springMVC 总体原理web.xml文件中声明dispatchservelet,springmvc容器,用于批量处理servlet,创建怎样处理servlet的处理器类constroller类且加注释@constroller加入spring容器。controller类指明了收到什么样的请求,该怎样处理,且返回到视图。controller处理器中的方法,相当于原生javaweb中的一个sevelet请求方法1.get方式@RequestMapping(value = "/some.do",原创 2022-04-27 23:41:06 · 207 阅读 · 0 评论 -
spring
ioc 就是把创建对象的工作,交给容器创建,容器一次性创建多个对象,使用对象的方法时,你只要调用即可。不需要自己创建对象。aop 就是在一段业务逻辑a中有一个逻辑b,而这个b逻辑在多个业务逻辑中出现,是个通用逻辑,我们就b逻辑称为切面,a为业务逻辑,b逻辑在代理对象方面,也可以理解为功能增强。具体做法是写一个代理类c,传入业务逻辑实例a和切面逻辑b,c代理类实例化对象后的代理,代理a,在代理类c中写有a类中有的同名方法z,在该同名方法中,调用实例对象a的同名z方法,而且调用实例b的方法。代理类c原创 2022-04-23 23:09:02 · 495 阅读 · 0 评论 -
mybatis
mybatis三层架构原因使用JDBC缺陷:MyBatis解决主要问题Mybatis可以完成三层架构1.界面层2.业务逻辑3.数据访问原因使用JDBC缺陷:代码比较多,开发效率低需要关注 Connection ,Statement, ResultSet 对象创建和销毁对 ResultSet 查询的结果,需要自己封装为 List业务代码和数据库的操作混在一起MyBatis解决主要问题减轻使用 JDBC 的复杂性,不用编写重复的创建 Connetion , Statement ;原创 2022-04-18 23:49:27 · 519 阅读 · 0 评论 -
jdbc总结
jdbc就是java语言模仿在cmd窗口中操作数据库。注册驱动两种方式Driver driver = new com.mysql.jdbc.Driver()DriverManager manage = DriverManage.resgisterDriver(driver);Class.forName(“com.mysql.jdbc.Driver”)连接对象Connection conn = DriverManager.getconnection()获取操作数据库对象Statm原创 2022-04-13 22:28:47 · 553 阅读 · 0 评论 -
mysql
mysql事务概念索引视图作用创建视图删除视图事务就是完成某项任务的一组操作。概念开启事务 strat transation回滚事务 rollback提交事务 commit索引索引是引入一种算法,快速找到需要找到的数据。添加索引create index 索引名 on 表名(列名)删除索引drop index 索引名 on 表名(列名)视图作用视图可以隐藏表的实现细节。保密级别较高的系统,数据库只对外提供相关的视图,java程序员只对视图对象进行CRUD。就是抽出表中的原创 2022-04-11 00:50:59 · 1013 阅读 · 0 评论 -
jdk动态代理
jdk动态代理动态代理作用实现代理的方式1.静态代理 :2.动态代理优点:动态代理 :动态代理的实现:1. jdk动态代理(理解): 使用java反射包中的类和接口实现动态代理的功能。1)InvocationHandler 接口(调用处理器):就一个方法invoke()2)Method类:表示方法的, 确切的说就是目标类中的方法。3)Proxy类:核心的对象,创建代理对象。实现动态代理的步骤:2. cglib动态代理(了解): cglib是第三方的工具库, 创建代理对象。动态代理使用反射机制,在内存中创原创 2022-04-10 14:59:42 · 863 阅读 · 0 评论 -
maven
maven作用原因依赖核心pom1.坐标:2.packaging:3. packaging 可以不写, 默认是jar4.properties:设置属性5.build : maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等6.依赖 dependencies 和dependency ,相当于是 java代码中import约定目录结构坐标依赖管理仓库生命周期插件测试插件1)单元测试(测试方法):用的是junit, junit是一个专门测试的框架(工具)。2)使用步骤1.加入依赖原创 2022-04-10 01:42:43 · 204 阅读 · 0 评论 -
javaweb
javawebtomcat执行流程,便于编程genericServletservletConfigservletcontext域 可以理解区域,范围requestgetLastModified()转发重定向注解get postsessioncookiesession与cookie两个储存机制之间数据的交流session与cookie应用tomcat执行流程,服务端的程序先启动起来。等到客户端的请求,接收到客户端的请求,解析网址,得到路径,从web.xml中找到,该路径,映射到自己起的类名,再找到真原创 2022-04-02 00:13:40 · 523 阅读 · 0 评论 -
java进阶5-集合
集合总结:collection 单列 是一个接口常用方法add()、remove()、iterator() hashcode()、isempty()、clear()、contains()、size()、toarray()方法中无改查等方法,只提供了大概的方法Iterator 接口主要方法hasnext()、next()、remove()collection 包含list和setlist 有序可重复,常用方法add()、set()、get()indexof()、lastIndexof()l.原创 2022-02-22 17:39:44 · 132 阅读 · 0 评论 -
java进阶9-注释
java进阶9-注释作用基本内置注释@override@Deprecated@suppressWarnings定制注解限定注释范围注释保持性策略@Documented@Inherted需掌握overrideDepricated 过时作用编写文档代码分析 对被注释元素范围,时间等方面的限制。编译检查基本内置注释@override子类重写父类方法是注释@Deprecated声明不需要写注释,使用时如果写注释报错@suppressWarnings不让编译时警告,有参数。定制注解pub原创 2022-03-18 00:32:01 · 194 阅读 · 0 评论 -
java进阶8-反射
java进阶8-反射反射概念Class.forName("全类名")类.class对象.getClass()反射接口getConstructor(参数类型 形参)getModifier()getParamersTypes()getDeclareMethod()getDelareField()getAnnotation()使用反射创造实例总结反射概念程序可以访问、检测、修改、他本身状态和行为的能力。只知道类名,通过方法可以知道他的属性、方法、修饰符、构造方法、父类、接口、注解等相关内容、类加载后会形原创 2022-03-17 23:48:33 · 280 阅读 · 0 评论 -
java进阶7-多线程
java进阶7-多线程意义进程与线程进程引入线程作用java程序执行原理线程的创建继承Thread实现Runnable接口线程启动线程生命周期线程的调度与控制调度模式线程优先级Thread.sleep()Thread.yield()t.join()t. interrupt()正确停止线程线程同步一个线程一个对象守护线程设置守护线程Timer 定时器object与线程意义提高cpu的使用率进程与线程进程是一个程序,例如 qq,线程是进程任务之一进程引入线程作用提高进程使用率一个线程一个栈,共享原创 2022-03-15 00:47:38 · 290 阅读 · 0 评论 -
java进阶6-io流
java进阶6-io流流流体系图流的主要操作方法,缓冲流转换流打印流 printStream,对象流流把内存中的数据写到硬盘或网络等或把硬盘或网络中的数据输入到内存的过程就是流。流是抽象出来的概念,如同内存与硬盘之间的一个架起的一个管道,连通彼此,通过操作流控制数据的流入或流出,流体系图流的主要操作方法,输入内存read(),内存输出到硬盘为write( ),和flush(),共有的方法close( ),close()方法中含有flush()方法。字节流读的时候,是一个字节一个字节读的,直到原创 2022-03-11 01:11:05 · 74 阅读 · 0 评论 -
java进阶4-异常
java进阶4-异常异常体系结构异常分类objectthrowableerrorexceptionruntimeExceptionruntimeException 之外try{ }...catch(){...}...finaly{...}取得异常信息getMessage()printStackTrace()finaly和returnthrows 声明异常throw 自己抛出异常异常捕获顺序 catch自定义异常方法覆盖时如果要抛出异常异常体系结构当出现问题时告诉我们,并把详细消息告诉我们异常分类原创 2022-03-08 23:01:09 · 94 阅读 · 0 评论 -
java进阶3-常用类
java进阶3-常用类StringStringBuffer和StringBuiderStringBufferStringBuffer原理StringBuider包装类 基本类型对应常用方法自动装箱和自动拆箱日期类数字类随机数类 Random枚举类原理String唯一可以直接赋值的引用类型(不用new),由于字符串操作对内存来说,太耗性能,java把String单拎出来。String name= “wang”先在方法区中的常量池中,寻找有没有wang这个字符串,有就不在创建,把wang这个字符串的引用原创 2022-03-05 22:55:55 · 77 阅读 · 0 评论 -
java进阶2-数组
java进阶2-数组数组声明创建对象数组元素赋值使用初始胡语句创建数组对象二维数组遍历数组数组的工具类Arrays使用方法Arrays.sort() 对象数组排序Arrays.binarySearch() 搜索数组中的指定值,使用之前使用sort()对数组排序。Arrays.fill() 给数组元素赋值。数组数组是一组数组的集合。数组是引用类型。保存在堆中数组作为一个对象实例,数组中的元素是数组的属性,还有一个属性length。数组中的元素可以是基本类型,也可是引用类型,但必须是同一类型。原创 2022-03-05 20:51:55 · 63 阅读 · 0 评论 -
java进阶1-面向对象
java进阶1-面向对象final抽象类接口接口作用Objecttostringfinalize尽快回收垃圾==equals包important常用宝访问控制权限内部类实例内部类静态类局部内部类匿名内部类final不可改变被final修饰的变量是常量,必须赋值;被final修饰的方法,不能被重写;被final修饰的类,不能被继承;构造方法不能被final修饰,因为构造函数内在有不能被重写的性质,所以不能被final修饰。被final修饰的引用,不能再次被赋值,但该引用指向的对象可以被修改,就原创 2022-03-04 01:30:27 · 63 阅读 · 0 评论 -
java基础14-super
java基础14-supersuper意思在构造函数中使用省略super意思super 子类从父类继承来的那部分代名词,不是对象,是子类实例对象的一部分,this的一部分 super.属性= this.属性在构造函数中使用子类的构造函数中super(),就是调用父类的构造函数,本质和调用一个普通函数一样,只不过这个构造函数隐含了,父类中变量作为方法的局部变量;如没有写super(),系统自动分配,注意只是调用父类的构造函数,用于给子类添加父类的属性并初始化,此步走是在创建子类对象是进行的,调用父类构原创 2022-03-02 01:14:55 · 65 阅读 · 0 评论 -
java基础-13 方法覆盖和多态
java基础-13 方法覆盖和多态方法覆盖多态前提转型方法覆盖当子类继承父类中的方法,不够用时,重写;覆盖的前提是继承私有方法不能被继承,所以不能覆盖构造方法不能被继承,所以不能覆盖覆盖只与方法有关,与属性无关覆盖的方法不能比父类中的被覆盖的方法权限低,可以更高静态方法是相对于类说的,不能被覆盖覆盖的方法不能抛出更多异常多态一种行为在不同对象上具体效果不同,例如,工作,对于程序员是,编程,对于厨师是做饭。前提继承,覆盖(重写)转型向上转型,子到父,自动类型转换向下转型,父原创 2022-03-02 00:00:51 · 60 阅读 · 0 评论 -
java基础-12 继承
java基础-12 继承关键词 extends作用关键词 extends作用代码复用,衍生出方法覆盖和多态原创 2022-03-01 23:41:19 · 35 阅读 · 0 评论 -
java基础-11 this和static
java基础this和staticthisthis在构造方法中static静态变量,方法静态代码块this实例对象方面this保存在堆中,this保存了这个对象的内存地址,this代表了该对象this不能出现在静态方法(static)中this在构造方法中this()指 调用其他构造方法,调用哪个构造方法,根据参数而定,只能在第一行,目的是代码复用。static类方面用static修饰的变量,方法,用 类名+变量 或 **类名+方法名()**访问在类体中声明的变量分为实例变量和静态变量,原创 2022-03-01 23:26:50 · 138 阅读 · 0 评论 -
java基础10-封装
java基础10-封装封装怎样隐藏?使用private提供出口 set、get封装作用 信息隐藏,为了保证内部数据安全怎样隐藏?使用private前缀为private的变量只能在本类中访问提供出口 set、get原创 2022-03-01 23:02:14 · 49 阅读 · 0 评论 -
java基础-9 对象的创建和使用
java基础-9 对象的创建和使用类对象创建访问构造方法构造函数的主要职责,实例的变量也可是一个引用方法传参类类就是 属性+方法对象创建new 构造函数名();创建对象的时候,如不手动赋值,系统根据数据类型默认赋值,0或null或false访问java 不能直接操作堆内存中的数据,只能通过栈内的引用去访问对内的对象。访问对象内存,实际就是访问实例变量。访问两种方式,读取和修改。构造方法【修饰符】 方法名(【形参列表】){方法体}构造方法名与类名相同无返回类型,即使void也不行原创 2022-03-01 22:47:24 · 78 阅读 · 0 评论 -
java基础7-方法
java基础7-方法方法本质方法结构返回值详解return三级目录方法本质代码片段重复利用方法结构【修饰符列表】返回值 方法名(参数列表){方法体;}返回值详解必须有返回的东西,有返回值,写明返回类型,无返回值注明void;returnreturn 值;后面的值就是返回的值,如果只有return,则是结束函数,没用返回的意思,且后面不能在后面写方法中的语句;三级目录......原创 2022-02-26 15:05:05 · 64 阅读 · 0 评论 -
java基础6-控制语句
java基础6-控制语句选择语句ifswitch循环语句for转向语句选择语句ifif(){ }else if(){ }else{}switchswitch() { case 值; 语句; break; case 值; 语句; break; default: 语句}switch 只适用于int 当然byte,short、char转型之后也可使用循环语句forfor(初始表达式;布尔表达式;更新表达式;) {语句}其中布尔表达式最重要,决定是否循原创 2022-02-24 23:14:03 · 144 阅读 · 0 评论 -
java基础5-运算符
java基础-运算符优先级算术运算符++关系运算符逻辑运算符短路&&赋值运算符条件运算符字符串运算符优先级优先级不用背,不确定,就加小括号,小括号的优先级最高算术运算符跟运算有关的+、-、*、/、%、++、–、++最后结果都是一样的,值本身都加了1,但如果是赋给了其他变量,值在前,先赋值给其他变量,自己再加1;如果是值在后,就把加1的结果直接赋给其他值,同时自己加1;关系运算符与等于有关,>=、<、,<=、==、!=逻辑运算符&、|、!、原创 2022-02-24 00:28:42 · 334 阅读 · 0 评论 -
java基础-数据类型
数据类型软件的存在主要是为了处理数据,数据类型就是为了在运行期间决定分配给数据多大内存。数据类型分为整数型、浮点型、字符型、布尔型整数型分为byte、short、int、long、浮点型分为 float、double布尔型为boolean字符型 chart一个比特位就是一位1或0一个字节是8个比特位tyte是1个字节,short是2个字节,int 是4个字节 常用long 是8个字节float 是4个字节 单精度double 是8个字节 双精度 常用boolean 1个字节原创 2022-02-23 18:39:24 · 170 阅读 · 0 评论 -
Java基础-变量
变量分类 局部变量 成员变量局部变量 方法中声明的变量和参数中声明的变量成员变量 类中的变量,分实例变量和静态变量java方法中只能定义一个方法;但可以定义一个内部类,通过内部类在调用另一个方法作用域 每一个变量都有他的储存区域出了大括号,就不认识了...原创 2022-02-23 18:38:07 · 130 阅读 · 0 评论 -
java基础3-变量
字面量就是数据或者说数值数据分类整数型、浮点型、字符型、字符串型、布尔型5种。注意字符用单引号,字符串用双引号。变量是内存中的一块空间,这个空间有名字,类型。值。声明类型 名字赋值类型 名字 = 值声明只是声明,没有赋值的情况下,就没有开辟内存空间,如果此时访问变量,会报错,未初始化,未初始化也就是未赋值。访问的实质就是访问内存空间,访问值。java语言可以同时声明和赋值多个同类型的变量。...原创 2022-02-22 23:43:21 · 47 阅读 · 0 评论 -
java基础2-标识符和关键字
标识符程序员给变量,方法等起的名字。命名规则只能由字母、数字、下划线、$ 组成。区分大小写。规范顾名思义类名,接口名首字母大写,驼峰命名变量名。方法名首字母小写。驼峰命名常量名,字母全部大写,单词之间用 _ 连接。...原创 2022-02-22 23:11:42 · 47 阅读 · 0 评论