java后端
文章平均质量分 50
讲解java后端相关知识
兀行者(做个有情怀的java程序员)
成学广才,明志致远
展开
-
mysql与oracle sql的区别
数据类型:oraclemysql对比NUMBERint / DECIMALDECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型;MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样Varchar2(n)varchar(n)无DateDATATIME日期字段的处理;MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数转载 2022-02-16 09:45:25 · 754 阅读 · 0 评论 -
union与union all(联合查询)
union 与 union all的区别两者Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序;补充:Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。-- unionselect c.c_id '课程编码',c.c_name '课程名称',t.t_name '教师名称' from cours原创 2022-02-15 15:13:07 · 3183 阅读 · 1 评论 -
jxl和poi的对比及简单使用
1. 内存消耗对比定量:数据量3000条,每条60列,JVM大小64M使用jxl:3000条全部出来,并且内存还有21M的空间使用poi:运行到2800条左右就内存溢出2. 速度效率(读取Excel数据)数据来自网络文件大小jxl加载耗时jxl总耗时poi加载耗时poi总耗时57kb1265ms2250ms1172ms1172ms652kb4406ms9750ms2297ms2313ms2.24M16313ms37453ms3109ms原创 2021-08-31 17:52:11 · 1977 阅读 · 0 评论 -
后端程序员必备的开发工具
作为一名刚入门的后端程序员,我总结了一下常用的开发工具,如有漏缺还望大佬指教。IDEA后端程序员必备开发神器(最好,没有之一)Eclipse后端开发常用工具(次之)Visual Studio Code前端开发必备神器(后端程序员免不了接触前端)WebStorm前端开发神器(感觉和上面差不多,看个人喜好)Navicat数据库可视化工具(sql美化做的比较好)(支持mysql/oracle/sqlserver等多种数据库)PLSQL Developeroracl原创 2021-08-25 11:01:01 · 20091 阅读 · 1 评论 -
Base64实现加密和解密’html文本‘
#BASE64一种较为简单的加密方式,效率较高,不能加密密码,可以加密图片或html文本等。public static void base64(String str) { byte[] bytes = str.getBytes(); //Base64 加密 String encoded = Base64.getEncoder().encodeToString(bytes); System.out.println("Base 64 加密后:"原创 2021-04-22 21:48:55 · 1033 阅读 · 0 评论 -
用FileUpload实现多个文件上传
文件上传原理 一、本地计算机实现把本地的资源文件一点一点的读出到内存并一点一点的从输出流上传文件,这一部分是通过浏览器实现的。二、服务器接受上传的文件,通过内存一点一点读取到服务器硬盘。FileUpload实现文件上传的步骤:1. 准备相应的依赖包:1)commons-fileupload-1.3.2<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><depende原创 2020-12-16 19:50:14 · 1117 阅读 · 0 评论 -
整合SSM步骤
1.配置工程相关的maven目录(Java,resources)2.引入相关SSM的包(POM.xml建议模板化)3.创建相关配置文件3.1 数据库连接配置文件3.2 logj4配置文件3.3 applicationContent.xml(配置mybatis等数据源)3.3 applicationContext.xml(配置mybatis数据源,SPRING和MYBATIS整合等)3.4 web.xml配置文件(修改,引入Spring的servlet配置,字符集过滤)3.5 创建XXX-se原创 2020-11-26 09:00:43 · 192 阅读 · 0 评论 -
IDEA 中 撤销上一次本地提交的代码
适用情景: idea 中本地提交代码(commit),发现提交错了,想要撤回本次操作。注意:只是提交commit,而并未push到远程分支中去。1.git指令git reset --soft HEAD~12.IDEA操作1.VSC–>Git–>Reset HEAD2.确定3.结果:...原创 2020-11-19 14:55:49 · 1556 阅读 · 0 评论 -
java中创建一个记录日志文件的方法
自己创建记录运行程序的错误记录,以便在需要时查看,还是挺有意思的。1.定义方法:public class LogUtil { //定义记录日志的方法 public static void Log(String msg){ try { //指向一个日志文件 PrintStream out = new PrintStream(new FileOutputStream("log.txt",true)); //改变一个输出方向原创 2020-11-04 15:16:37 · 1892 阅读 · 2 评论 -
IO中常用流模板(文件流、转换流、缓冲流、标准输出流等)
很多小盆友在日常开发中会用到I/O流,下面是我整理的标准I/O流输入、输出模板,仅供参考:一、文件专属1、FileInputSteam(字节输入流)模板 : //支持任意数据类型读取 FileInputStream fis = null; //定义一个字节流输入-->(读取数据) byte[] bytes = new byte[4];//准备一个byte数组 try { //指定数据读取地址,默认相对路径,项目名原创 2020-11-03 22:26:42 · 495 阅读 · 0 评论 -
Spring的事物属性种类(传播行为、隔离级别、只读和事务超时)
事务属性的种类: 传播行为、隔离级别、只读和事务超时a) 传播行为定义了被调用方法的事务边界。传播行为意义PROPERGATION_MANDATORY表示方法必须运行在一个事务中,如果当前事务不存在,就抛出异常PROPAGATION_NESTED表示如果当前事务存在,则方法应该运行在一个嵌套事务中。否则,它看起来和 PROPAGATION_REQUIRED 看起来没什么俩样PROPAGATION_NEVER表示方法不能运行在一个事务中,否则抛出异常PR原创 2020-11-02 11:27:12 · 260 阅读 · 0 评论 -
java-集合-Map(详解)
java.util.Map接口:1、Map和Collection没有继承关系。2、Map集合以key和value的方式存储数据:键值对key和value都是引用数据类型。key和value都是存储对象的内存地址。key起到主导的地位,value是key的一个附属品。3、Map接口中常用方法:V put(K key, V value) // 向Map集合中添加键值对V get(Object key) // 通过key获取valuevoid clear(原创 2020-10-31 09:43:01 · 244 阅读 · 0 评论 -
java-集合-List接口(详解)
本篇以List接口的特点和方法为纲,加之以代码验证,清晰明了~1、List集合存储元素特点:有序可重复有序:List集合中的元素有下标。从0开始,以1递增。可重复:存储一个1,还可以再存储1.2、List既然是Collection接口的子接口,那么肯定List接口有自己“特色”的方法:以下只列出List接口特有的常用的方法:void add(int index, Object element)Object set(int index, Object element)Object get(i原创 2020-10-31 09:09:12 · 460 阅读 · 0 评论 -
java-集合-HashMap(详解)
HashMap集合:一、HashMap集合总结:1、HashMap集合底层是哈希表/散列表的数据结构。2、哈希表是一个怎样的数据结构呢? 哈希表是一个数组和单向链表的结合体。 数组:在查询方面效率很高,随机增删方面效率很低。 单向链表:在随机增删方面效率较高,在查询方面效率很低。 哈希表将以上的两种数据结构融合在一起,充分发挥它们各自的优点。 3、HashMap集合底层的源代码: public class HashMap{ // Ha原创 2020-10-30 11:34:55 · 627 阅读 · 0 评论 -
java-集合-泛型(详解)
1、JDK5.0之后推出的新特性:泛型2、泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用!)3、使用了泛型好处是什么?第一:集合中存储的元素类型统一了。第二:从集合中取出的元素类型是泛型指定的类型,不需要进行大量的“向下转型”!4、泛型的缺点是什么?导致集合中存储的元素缺乏多样性!大多数业务中,集合中元素的类型还是统一的。所以这种泛型特性被大家所认可。public static void main(String[] args) { /* // 不使用泛原创 2020-10-30 09:24:40 · 316 阅读 · 0 评论 -
Spring持久层(二)
前提:在Spring框架的基础下1.在pom.xml里导入Springjdbc及mysql、连接池的相关依赖:根据所需版本改变版本号即可!<!--jdbc--> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId>原创 2020-10-29 12:34:31 · 81 阅读 · 0 评论 -
Spring持久层(一)
数据库连接池的优势:传统的JDBC访问数据库技术,每次访问数据库都需要通过数据库驱动器Driver和数据库名称以及密码等等资源建立数据库连接。这样的连接存在两大问题:频繁的建立数据库连接与断开数据库,这样会消耗大量的资源和时间,降低性能。数据库的连接需要用户名和密码等等,这些需要一定的内存和CPU一定开销。数据库连接池原理:数据源建立多个数据库连接,这些数据库连接会保存在数据库连接池中,当需要访问数据库时,只需要从数据库连接池中获取空闲的数据库连接,当程序访问数据库结束时,数据库连接会放回数原创 2020-10-29 10:21:11 · 158 阅读 · 0 评论 -
如何优雅的重写equals方法?
其实不管用不用的到,每创建一个实例类,因为默认调用继承自Object类的equals方法,只能比较对象的地址是否相同,而不能比较对象的值。所以我们都应该重写equals方法,这是一种代码规范。1.创建实例类这里我创建了一个user类,属性有name和age;public class user{ private String name; private int age; public user(){//声明无参构造 } public user(原创 2020-10-28 17:25:34 · 1080 阅读 · 0 评论 -
java中随机数生成的三种方式
第一种:new Random() public static void main(String[] args){ Random r = new Random(1); for(int i=0 ; i<5 ; i++) { int ran1 = r.nextInt(100); System.out.println(ran1); } }第二种: public static void main(String[] args) { R转载 2020-10-21 21:24:45 · 342 阅读 · 0 评论 -
java代码如何防止空指针异常(NullPointerException)的出现
空指针异常(Null Pointer Exception)是我们平时最容易碰到的,也是最令人讨厌的异常。本文介绍如何避免出现空指针异常。首先你要知道空指针异常为什么会出现:引用直接指向空对象,大概率是你没有取到某个对象;将8种基础类型的封装类赋值给对应的基础类。接下来看怎么防止异常:1. 前台提交数据到后台时很可能出现意外取不到数据(1)使用equals判断时:String password = null;password = request.getParameter("pass转载 2020-10-23 18:24:20 · 2131 阅读 · 0 评论 -
Java-计算一个方法或代码片段的执行时间
因为特别有意思,所以在这里想写一下:首先我要告诉你一个你可能觉得没啥用的函数 currentTimeMillis():获取自1970年1月1日 00:00:00 000到当前时间的总毫秒数。 long nowTimeMillis = System.currentTimeMillis(); System.out.println(nowTimeMillis);或许小伙伴们该疑惑了,这个函数有什么用呢?可以计算某个方法执行时间:class A{ publ原创 2020-10-21 20:39:57 · 854 阅读 · 2 评论