- 博客(34)
- 收藏
- 关注
转载 Java 是编译执行的语言,还是解释执行的语言
Java由编译器javac将Java文件编译为.class文件,再通过JVM虚拟机从.class文件中读一行解释执行一行解释为二进制代码。Java对于多种不同的操作系统有不同的JVM所以Java实现了真正意义上的跨平台
2023-02-02 11:37:45
1352
原创 超详细讲解Spring框架的Bean管理 和IOC纯注解方式
一.什么是Bean个管理bean管理指的是如下的两个操作。1.创建对象 2.注入属性二.Bean管理操作的两种方式1.基于xml配置文件的方式实现 2.基于注解方式实现首先讲解一下基于xml配置文件的方式实现Bean管理和注入属性1.基于xml方式创建对象①:这个就是我们上边配置过②:创建对象的时候,默认是执行无参构造方法完成对象再次运行2.基于xml方式注入属性依赖注入的概述IOC和DI的概念IOC:Inverse of Control,控制反转,将对..
2022-04-19 09:53:24
159
原创 超详细讲解Spring IOC容器
1. 什么是IOCIOC -- Inverse of Control,控制反转,将对象的创建权力反转给Spring框架!就是一个解耦合的作用在java当中一个类想要使用另一个类的方法,就必须在这个类当中创建这个类的对象,那么可能会出现如下情况, 比如A类当中创建着B对象,B类当中有C对象,C类当中有A对象,这个如果一个类出了问题,那么可能会导致这个框架出现问题。 Spring 将创建对象的权利给了IOC,在IOC当中创建了ABC三个对象吗,那么我们我们其他的类只需要调用集合, 大大的解决了程序耦
2022-04-19 09:08:48
301
原创 超详细Spring讲解
第一章:Spring框架的介绍1. Spring框架的概述Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EEDevelopment and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允
2022-04-19 08:48:16
232
原创 Mybatis遇到entity实体类字段和数据库字段不一致,使用映射解决
把数据先返回到映射当中,数据库字段和实体类中的字段进行映射<resultMap id="resultMap" type="com.qcby.entity.User">//id就叫resultMap type :映射到的实体类对象名字 <id column="数据库字段名" property="实体类中的字段名" (javatype="字段类型")/> //只有id 用id标签 其他都用result <result column="t_user
2022-04-11 10:50:14
2233
原创 mybatis获取参数的两种方式
mybatis获取参数的方式有两种:#{}占位赋值 和 ${}字符串拼接字符串拼接在我们向数据库发送sql语句之前我们的sql语句就拼好了已经生成了,而占位赋值是在向数据库发送sql的时候先预编译成"?","?"进行占位,当运行的时候才会变成真正的值安全性${}这种形式容易形成sql注入 不安全如何选择#{}还是${}1能用#{}就用#{},少用字符串拼接2数据是某个数据库字段时用${}3传递参数的时候用一个注解@Param(+参数别名) -----------注解的作用是给参.
2022-04-10 11:30:50
646
原创 Maven超详细讲解-------maven项目的创建
目录1.Maven项目的创建1.1创建java项目1.1.1 新建项目1.2 创建web项目1.2.1 新建项目1.2.2 启动项目1.Maven项目的创建1.1创建java项目1.1.1 新建项目先关闭所有项目进入新建页面quickstart改路径和配置文件点击完成进入在test下也建一个将test下的resource更改图标 标记为利用maven命令去编译这个项目利用maven..
2022-04-05 16:42:03
692
原创 Maven超详细讲解-----maven的安装和配置
1.maven简介1.1 简介maven最主要体现在两个词上:项目和管理。maven给我们整个开发团队找出了一种能够更加科学的去管理我们项目的思想。maven通过使用配置文件的方式使得项目在管理和交接的过程中成本变得非常低。maven提出了一种叫做maven仓库的概念,使得我们可以将第三方和我们需要引用的项目都放置在maven仓库当中。如果其他人或项目组也需要使用,就可以直接通过maven进行配置就行。这样就可以将人员成本、沟通成本等等都进行降低。如果还不理解我们举个例子:加入我们现在想做一份菜
2022-04-05 16:37:03
650
原创 启动Redis报错:Could not create server TCP listening socket *:6379: bind: Address already in use
正常解决方法三部①通过指令找到redis进程,查看所有关于它的进程详情。1|ps -ef | grep redisroot 10982 24751 0 21:46 pts/0 00:00:00 grep --color=auto redisroot 31047 1 0 3月20 ? 00:01:13 ./redis-server *:6379如上图:进程号为 31047即为redis服务器②使用kill杀死该进程...
2022-03-22 22:12:08
2121
原创 Java是值传递
Java是值传递 传的是地址值eg.下列代码的输出是什么?public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); change(a, b); System.out.println(a+","+b); } public static void change(StringBuffer
2022-03-15 23:01:33
337
原创 String s = new String(“xyz“);创建了几个StringObject
String s = new String("xyz")new一个对象要在堆内存中开辟新的内存空间指向此内存空间,并将“xyz”存入字符串常量池所以创建了两个字符串对象
2022-03-15 22:42:32
288
原创 java.sql.SQLException: Field ‘account‘ doesn‘t have a default value解决办法
是数据库设计表的时候account设置为not null,而添加页面里没账号的添加 冲突了解决办法:回到设计表 将account和password取消notnull
2022-03-06 01:37:49
1063
原创 Eclipse/MyEclipse的快捷键以及文档注释、多行注释的快捷键
Eclipse/MyEclipse的快捷键以及文档注释、多行注释的快捷键1选中你要加注释的区域,用 Ctrl+shit+/再用 Ctrl+shit+\ 会去掉2.选中你要加注释的区域,用 Ctrl+Shift+C 或者 Ctrl+/ 会加上 // 注释,再重复按一下就会去掉 // 注释。(.js文件中只有 Ctrl+Shift+C 管用,.java文件中都管用)...
2022-03-01 17:40:17
392
原创 Servlet线程安全问题
①:线程安全问题当我们访问servlet的时候,我们需要执行实例化操作,创建一个servlet对象。而我们tomcat容器可以让多个线程并发访问Servlet,如果在方法当中对成员变量做修改,就会出现线程安全问题。②:如何保证线程安全synchronized :这种方式会大量的造成线程堵塞实现SingleThreadModel接口servlet实现SingleThreadModel接口后,每个线程都会创建servlet实例,这样每个客户端就不存在线程资源共享资源的问题,但是s..
2022-02-11 10:30:28
474
原创 认识Servlet
1.什么是ServletServlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。狭义广义2.编写第一个Servlet①:编写Servlet实现servlet接口 重写5个主要方法 在..
2022-02-11 10:14:05
96
原创 String、StringBuilder(非线程安全)、StringBuffer(线程安全
线程安全若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成:1. 在 Items[Size] 的位置存放此元素;2. 增大 Size 的值。在单线程运行的情况下,如果 Size = 0,添加一个元素后,此元素在位置 0,而且 Size=1;而如果是在多线程情况下,比如有两个线程,线程 A 先将元素
2021-12-31 02:33:43
2784
原创 swagger Could not render e,see the console
已解决!早上没爬起来 老师课上剩余时间帮我改好了!主要问题前缀prefix不一致
2021-12-30 02:29:08
7107
原创 力扣算法入门
217. 存在重复元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。解题思路先排序,重复数据必然相邻,只需要遍历一次数组更加的节省时间代码class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums);//排序 for(int i=0;...
2021-12-28 15:44:07
3073
原创 牛客刷题整理(4)
groupby使用不恰当错误我让分组显示按照date来排序了,查找的是max(date)结果必然不对应该按用户id来分类才找的是一个用户的最大日期正确
2021-11-30 11:15:36
168
原创 牛客刷题整理(3)
concat函数有一个写法是用于连接两个字段(列)的:concat.ws ----(ws: with separator)语法为:concat.ws('分隔符', str1, str2,...)as "新名字"
2021-11-29 16:02:06
194
原创 牛客刷题整理(2)
SQL4:请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示,以上例子如下:员工表,employees部门表,dept_emp答案是按employees表中顺序输出的,所以使用内连接查询时,必须将employees表放在前面。select LAST_name,first_name,dept_no from employees,dept_empwhere dept_emp.emp_no=employees...
2021-11-29 15:56:01
382
原创 牛客刷题整理(1)
SQL3查找当前薪水详情以及部门编号dept_no请你查找各个部门当前领导的薪水详情以及其对应部门编号dept_no,输出结果以salaries.emp_no升序排序,并且请注意输出结果里面dept_no列是最后一列,以上例子输出如下:全部员工的薪水表salaries各个部门的领导表dept_manager请你查找各个部门当前领导的薪水详情以及其对应部门编号dept_no,输出结果以salaries.emp_no升序排序,并且请注意输出结果里面dept_no列是最后一列,以...
2021-11-29 15:45:41
141
原创 limit与左右内连接用法
limit使用SELECT查询时,如果结果集数据量很大,比如几万行数据,放在一个页面显示的话数据量太大,不如分页显示,每次显示100条。要实现分页功能,实际上就是从结果集中显示第1100条记录作为第1页,显示第101200条记录作为第2页,以此类推。因此,分页实际上就是从结果集中“截取”出第M~N条记录。这个查询可以通过LIMIT OFFSET 子句实现。我们先把所有学生按照成绩从高到低进行排序:现在,我们把结果集分页,每页3条记录。要获取第1页的记录,可以使用LIMIT 3 OFFSET 0:
2021-11-24 16:08:27
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人