
日常学习
文章平均质量分 86
new一个对象777
Java是世界上最好的语言!
展开
-
总结一下事务和事务隔离级别
事务 ACID 包括原子性:要么全部成功,要么全部失败回滚。一致性:可以理解为“守恒”,例如银行转账,你将从你的账户转账300元给小明,现在你已经扣除了300元,但是此时服务器宕机了,你的300元已经扣除了,但是小明却没有收到300元。这就说明已经不守恒了,也就是数据不一致的情况发生了。其实避免非一致性的事情发生的前提措施就是原子性和隔离性还有持久性。隔离性:主要是用于并发环境下,多个并发之间的事务是相互隔离的,各个事务之间互不影响。持久性:一旦事务提交了,数据就会永久的存储到磁盘。正是由于原创 2022-05-05 22:09:11 · 344 阅读 · 0 评论 -
浅谈AOP和代理模式
什么是AOP首先AOP是一种叫面向切面编程的思想,他并不是只用在Spring中,在其他很多AOP的框架中都有用到,如AspectJ,AspectWerkz。众所周知在Java中是面向对象编程,而AOP的面向切面编程更像是对面向对象编程的一种补充。他是通过一个叫切面的东西来统一处理很多相似的功能,例如我们在银行中的查询余额、取钱、存钱都会存在一个验证用户的操作,而这个操作我们就可以抽取出来实现代码复用。当我们要存钱或取钱的时候我们会将验证的功能横向的切入进来,也称横向开发,这样的好处很明显,不会改动原有的代原创 2022-04-13 21:19:27 · 3174 阅读 · 4 评论 -
总结一下各大数据源的优缺点
为什么会有数据源?古老的JDBC连接很麻烦,执行一次SQL就要打开关闭一个连接,这样的方式会导致用户每次请求都要向数据库建立链接而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、宕机。图为原始JDBC的连接情况由于原始的JDBC不具有高可用性所以诞生了数据源的概念,也可以理解为数据池,连接放入池中,用的时候直接拿不用去新建连接,可用性大大提高。常用的数据源.原创 2022-04-04 16:31:34 · 2248 阅读 · 0 评论 -
ORM、JPA、Hibernate、MyBatis之间的关系梳理
捋顺ORM框架、Hibernate还有MyBatis之间的关系原创 2022-03-24 22:48:25 · 1451 阅读 · 0 评论 -
ElasticSearch学习笔记
ElasticSearch学习Lucene概念Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会原创 2021-05-13 17:51:51 · 329 阅读 · 1 评论 -
Redis学习笔记
Redis学习主要知识点nosql介绍nosql数据类型nosql 四大分类CAPBASERedis入门五大基本数据类型StringListSetHashZset三种特殊的数据类型geohyperloglogbitmapRedis配置详解Redis持久化RDBAOFRedis事务操作Redis实现订阅发布Redis实现主从复制Redis哨兵模式(重点的重点)缓存穿透及解决方案(重点的重点)缓存击穿及解决方案(重点的重点)缓存雪崩及解原创 2021-05-08 19:30:49 · 1188 阅读 · 6 评论 -
SpringBoot学习笔记
SpringBoot学习核心思想:约定大于配置!!you can just runspringboot的主要优点:开箱即用,提供各种配置来简化项目配置基于spring内嵌式容器简化web开发没有冗余代码生成和xml配置的要求什么是微服务?微服务是一种风格,原来是all in one(单体架构),完美的阐述了高内聚,低耦合的意思。即微服务是一种利用分治法的思想,去把一整套非常复杂的业务逻辑给切分成多个简单的业务问题,并采用模块化方法去实现组合的一种架构方法。它们是相互独立的,这意味着原创 2021-04-23 18:22:54 · 1621 阅读 · 0 评论 -
第十一届Java B组蓝桥杯真题
写在前面时光荏苒,岁月如梭,恍惚间蓝桥杯开赛的日子近在咫尺。。为什么这么官方。。。咳咳,明天就开赛了,俗话说得好临阵磨枪,不快也光!秉承着华夏民族优良专统,于是来刷一遍去年的真题,从去年的难度整体上来看我要是去年去比赛的话省三应该不成问题,但是不知道今年会不会变难,他要是上来就是高级数学公式,找各种规律,DP,贪心,背包那我干脆弃赛得了,高级算法不适合我,太难了~~,此篇我也只是解决了前八道题目,最后两道题目与我目前段位实在是不匹配,所以以后有缘再续 ~~真题链接真题看这里——>> ht原创 2021-04-17 12:27:33 · 527 阅读 · 0 评论 -
Java 8 HashMap底层源码初探
为什么哈希查找那么快?HashMap是基于哈希值的桶和链表因为哈希的存储类似于数组,在数组中我们只需要知道数组的下标就可以取到数组的值了,查找速度极佳,时间复杂度为O(1),哈希的存储就类似于数组的存储,将值映射到内存的某个单元,然后给他一个哈希值,我们查找的时候只需要查找那个哈希值就可以了,不需要进行任何比较,但是在此之前我们需要指定哈希函数用来将无限大的值映射到内存中,如何选择哈希函数方法并不唯一,一般存储正整数的话就用一个正整数来mod数组的长度,但是这样做的致命缺点就是哈希冲突,我们的哈希值可能原创 2021-04-16 09:31:01 · 215 阅读 · 2 评论 -
雷军:这样的程序员创业有戏
这是我为12月4日开始的“2008软件开发2.0技术大会”准备的讲稿。到了现场,我发现这个讲稿对现场近千人的技术高手不适合,只好临时讲了移动互联网的趋势。致刚入门的程序员五点建议每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员。现在大学、软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找不到好的工作。问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人。而刚毕业的大学生多半刚学会如何写程序,的确很难企业需求。企业到底需要什么样原创 2021-03-17 17:25:55 · 451 阅读 · 0 评论 -
Java API之LocalDate和LocalTime
今天刷题的时候突然发现一个宝藏API,我称它为“时间管理者”,当当当,他们就是LocalDate和LocalTime!!!这个自jdk 1.8才诞生的API不所谓是不强大,对于时间的很多操作他们都支持,加时间吗,减时间,生成时间,输出当前日期和时间,等等等…下面就让我们来测试一下他们的一些主要的方法吧!测试(用法见注释) public static void main(String[] args) { System.out.println("====LocalDate测试====");原创 2021-03-09 23:26:20 · 189 阅读 · 0 评论 -
SSM整合项目-书籍管理系统
整合SSM项目前言终于走到这一步了,整合SSM也就是代表着学完了spring,springmvc还有mybatis,虽说是学完了,但是其中的深奥原理还是一知半解,但是最起码会用了,这也是个好的开端吧!今天特地来写一篇博客拿来练练手,整合一下SSM框架,整合完以后就可以进军SpringBoot了,哇咔咔,坎坷啊!接下来我们就来看一下这个项目,书籍管理项目,通过配置一下配置文件来实现一些原先很繁琐的操作,高效开发,节省操作或许这就是框架开发的魅力吧,但是SSM也有缺点,到了业务逻辑很繁琐的时候SSM就显得原创 2021-02-22 15:17:32 · 349 阅读 · 0 评论 -
Spring MVC学习笔记
Spring mvc学习准备工作,导入依赖<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependenc原创 2021-02-20 22:22:49 · 359 阅读 · 0 评论 -
Spring学习笔记
Spring学习关于Spring简介官网:https://spring.io/介绍:Spring框架是一个开放源代码的J2EE应用程序框架,由[Rod Johnson](https://baike.baidu.com/item/Rod Johnson/1423612)发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。特点:两个最大的特性:AOP(面向切面编程) 和 IOC(控制反转)—面试必问Spring是一个轻量级的,非入侵式的框架(引原创 2021-02-20 22:10:53 · 287 阅读 · 0 评论 -
Mybatis学习笔记
Mybatis学习简介什么是mybatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。第一个mybatis程序从 XML 中构建 SqlSessionFactory每个基于 MyBatis 的原创 2021-02-03 21:48:37 · 315 阅读 · 0 评论 -
Java重点部分之集合
集合+泛型前言Collection接口Arraylist集合操作集合实例--斗地主数组的特点数组和集合的区别List集合LinkedList集合Set集合比较器MapHashSet和TreeSet比较Map接口中的常用方法斗地主综合案例升级版(添加看牌时排序功能)彩蛋前言近来在学习算法,刚入门算法,属实是有点吃力,一个力扣的简单题目做一个多小时,悔当初没有好好学算法,当初以为只要学好一门语言和框架就可以了,但是后来发现算法是灵魂,算法不精通那不管学什么也都是捉襟见肘啊。但java这方面的知识也不能落下呀原创 2020-11-05 21:36:05 · 183 阅读 · 1 评论 -
Java反射—框架的灵魂(相当重要)
Java反射前言反射的概念反射的好处动态语言的理解关于Class获取Class对象的三种方式对Class类的理解类的加载与ClassLoader的理解加载过程类加载器(ClassLoader)Class对象功能及其实例通过反射动态调用对象反射案例细讲总结前言接上一篇,最近刚学完反射,还有一些地方不得其解,于是写一篇博客串一下刚学的内容吧,本文内容全是自己整理的笔记加上我自己的理解,有不对的地方还请各位大佬提出。反射的概念什么是反射(Reflection):将类的各个组成部分封装为其他对象,这就是反射原创 2020-11-02 18:57:05 · 498 阅读 · 2 评论 -
运用反射动态创建对象以及调用属性的三种方法的性能对比
关于反射的一些方法和技巧琢磨半天害怕自己忘了,于是乎写到博客里给我以后看看,源码如下:package cn.sjy;import java.util.Arrays;/** * @author Shi Jun Yi * @version 1.0 * @date 2020/11/1 19:33 * 通过反射如何获取方法,构造器,属性等 */public class Test5 { public static void main(String[] args ) throws Exce原创 2020-11-01 21:23:40 · 351 阅读 · 2 评论 -
用Java的swing开发一个简易计算器
话不多说直接贴源码,如下:package cn.sjy.calculator;import javax.swing.*;import java.awt.*;/** * 简易计算器 * @author 石俊熠 * 2020.7.13 11:24 * 注:仿照某Java大佬的源码改之 */public class Test { private String str=" ";//输入输出框显示内容 private JTextField input;//输出框 pri原创 2020-07-13 16:17:57 · 642 阅读 · 0 评论 -
Java集合斗地主案例升级版(新增看牌排序)
上一个斗地主案例是全是用ArrayList集合做的,ArrayList集合不能实现排序功能,现在刚学会Map集合,利用Map集合的键值对来实现排序功能非常方便。大体思路是这样的:先建立一个Map集合,key用来存放扑克牌的索引,value用来存54张扑克牌。再建立一个ArrayList集合,专门用来存放索引,这个ArrayList集合非常关键,能否实现排序就是靠ArrayList集合里面存放的索引,索引也是从0-53,一共54个,这个ArrayList的索引最后当做Map集合的key来取出Map集合原创 2020-07-04 13:32:30 · 268 阅读 · 0 评论 -
用Java集合实现斗地主案例
近来无事,打算重学Java SE 学到了集合,照着网上做了一个斗地主实例,直接上代码,各位看官请欣赏:package cn.gather;import java.util.ArrayList;import java.util.Collections;/** * 斗地主案例 * 1.准备牌 * 2.洗牌 * 3.发牌 * 4.看牌 */public class DouDiZhu { public static void main(String[] args ){原创 2020-07-02 23:16:12 · 325 阅读 · 0 评论 -
使用MVC框架开发了一个实现用户登录注册注销的小项目
引言今年由于疫情缘故没有开学,所有期末考试都是线上考试,同学们也都乐开了花,随着Javaweb这门课的结课,老师也布置了一个大作业,用MVC架构开发一个项目。端午佳节特来写一篇博客来记录一下我的第一个MVC项目,初来乍到,如有不足之处,还请多多包涵。关于MVC关于MVC这里就不过多介绍了,简单来说就是一个分层的设计理念,大致分为三层M 代表 模型(Model)V 代表 视图(View)C 代表 控制器(controller)。为什么要用分层的理念呢,因为当我们开发很大的项目的时候如果没有分层,你修改一原创 2020-06-25 13:03:00 · 1693 阅读 · 6 评论 -
用JDBC+MySQL实现了一个饭卡充值系统
初出茅庐,写几行代码给自己看,不足之处还望见谅。此系统是为饭卡充值系统,可实现充值,注销,转账,查余额等操作,代码如下:main类package System;public class main { public int ID; public String Name; public int Money; public String class1; public main(...原创 2020-02-29 21:59:46 · 2973 阅读 · 4 评论 -
Hexo+GitHub搭建个人网站全网最详细教程
前言这个故事很长,还要从一只蝙蝠说起!大二寒假在家闲来无事一直想做一个网站但是苦于没有门路,于是我去各大论坛搜索关于搭建网站的资料,这一搜还真给搜到了,于是这一套Hexo+GitHub搭建个人博客网站的方略就加入了我的项目。这是小弟第一次搭建网站,也是小弟第一次写文章,初出茅庐还有许多不备之处未曾完善,这里只讲搭建过程,内容日后完善。这篇教程算是一个搭建方法的汇总,首次搭建我也是一路坎坷遇到了...原创 2020-02-24 16:38:07 · 389 阅读 · 0 评论