JAVA基础
文章平均质量分 70
记录Java基础知识学习,基础不牢,地动山摇
要做了不起的人Zzzcg
仰望星空,脚踏实地
展开
-
一个基于Servlet的在线商城
onlineMallServlet介绍基于Servlet实现的在线商城只是一个小demo很多细节还需要打磨,比如账号密码格式验证等,主要用来学习Servlet和MVC开发模式,以后使用框架开发时再打磨细节。代码gitee仓库环境1.JDK112.tomcat 9.0.503.mysql 8.0.25 表结构见最后管理工具maven 4.0.0需求分析1.用户登录注册(商家和用户)2.用户浏览购物商城页面3.购买物品4.商家管理商品(增删改查)5.买家查看购买记录6.卖家查原创 2021-10-15 16:04:38 · 710 阅读 · 0 评论 -
使用数据库连接池报异常too many connection
背景用servlet+jsp+mysql开发一个练手项目在线商城,dao层选用HikariDP连接池作为数据源,网页前端点一点,刷新几次之后,即进行几次数据库操作之后,就会报错too many connection解决思路报这个错误意思是连接数过多,我们都知道,连接数据库获取的连接数是有上限的,虽然上限可以设置,但是就我这么小的小项目,mysql不至于顶不住啊?另外,所有的获取连接操作,我都是try-with-resource代码块实现的,也就是说,所有获取的connection,在使用之后都正常释原创 2021-10-15 15:31:49 · 3002 阅读 · 1 评论 -
Spring之IoC使用
IOC简介概念、优点网上一大堆,我只说下自己的见解。所谓控制反转IoC就是在开发过程中,不需要手动的new对象,而是把对象都交给Spring的IOC容器,由Spring容器来创建和注入到需要的相应对象的位置。不使用SpringIoC的情况下举个例子:在传统的MVC模型中,用户Controller类会调用用户Service类,用户Service类调用用户Dao类,如果实现一个注册功能,需要有以下流程:Controller需要调用Service中的方法,所以Controller类中必须创建Service对原创 2021-10-12 18:49:27 · 352 阅读 · 0 评论 -
5.Jave反射
反射是一种可以不通过对象,而直接对内存进行操作的特殊手段,本质是越过了“对象”实例,而是通过类似于指针直接去访问内存,反射破坏了Java的封装特性。原创 2021-09-26 14:33:33 · 119 阅读 · 0 评论 -
2.Java核心类与常用工具类
String1.String在Java中的特殊地位String是字符串类型由于字符串类型实在太常用了,因此Java对String做了特殊处理,以提升性能。String在JVM中有一个单独的存储空间专门存储String,防止大量重复的new String对象浪费内存,一个String一旦被定义,就不能修改其内容,这样的好处就是不会有重复的String在内存中。2.String内容不可变String对象实际上是一个常量,一旦被创建,首先会在字符串常量池中搜索字符串是否存在,如果存在,则将对象地址直接指向原创 2021-09-24 17:21:37 · 144 阅读 · 0 评论 -
3.Java容器框架
集合框架Collectionpublic void add(E e)添加元素public void clear()清空public boolean contains(Object o) 是否包含某元素public boolean containsAll(Collection<?> c)是否包含集合c中的所有元素public boolean equals(Object o)判断两个集合是否相等public boolean isEmpty()判断是否为空public remove(原创 2020-09-13 10:54:07 · 264 阅读 · 0 评论 -
1.Java中常见的重写
重写toString()、equals()、hashcode()、compareTo()接下来将从两方面分析为什么要重写这几个方法?怎么重写这几个方法?toString()public class Student { String name; int age; String address; public Student() { } public Student(String name, int age, String address) {原创 2020-09-12 20:21:29 · 427 阅读 · 0 评论 -
4.熟悉HashMap底层原理
熟悉HashMap参考https://blog.csdn.net/c139352227/article/details/47861815一、概述HashMap基于Map接口,键值都允许存在null,由于键不能重复,所以键中只能有一个Null。而且它的插入顺序和存放顺序未必一致,不能相同。HashMap是线程不安全的。基本属性static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 默认容量static final i原创 2020-09-12 20:19:27 · 114 阅读 · 0 评论 -
JAVA实例锁和类锁
Java中的实例锁(Synchronized)和类锁(Static Synchronized)锁的作用 对于多线程同时访问共享变量时,就会产生线程安全问题。锁的作用就是对共享的变量进行加锁,当有线程在访问变量时,其他线程必须要等锁释放才可以访问,解决线程安全问题。线程安全问题 直接上代码,下面是模拟10个线程对同时卖票的场景。public class ThreadSecurtiy implements Runnable{ int ticket = 100; @Overrid原创 2020-09-11 19:54:41 · 1356 阅读 · 0 评论