- 博客(28)
- 收藏
- 关注
原创 Java开发框架SSH学习(七)- Hibernate的关系映射
目的学会配置Hibernate的关系映射实验步骤1、创建HibernateUtil类用于管理sessionFactoryHibernateUtil.javapublic class HibernateUtil { public static final SessionFactory sessionFactory; static { try { ...
2020-04-16 18:40:50
185
原创 Java开发框架SSH学习(六)- HQL的使用
目的和内容目的:能够初步使用HQL内容:对数据表进行增删查改操作注:本次实验是基于上次实验基础上修改,若不了解可戳Java开发框架SSH学习(五)- hibernate入门实验步骤1、修改hibernate.cfg.xml文件(若可用c3p0数据库连接池可用注解里的配置项,笔者的配置会造成死锁,问题还在解决)hibernate.cfg.xml<?xml version='1.0...
2020-04-09 17:43:08
284
1
转载 LeetCode 2. 两数相加 Java实现
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出: 7 -> 0 -...
2020-04-04 01:11:22
419
原创 LeetCode 8. 字符串转换整数 (atoi) Java实现
题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在...
2020-04-03 09:06:49
337
原创 Java开发框架SSH学习(五)- hibernate入门
目的和内容目的:学会使用面向对象的方法操作数据库。内容:通过持久化对象来对数据库表进行数据库操作。实验步骤1、创建一个User的POJO类包含三个字段,其中id是自增的编号User.javapublic class User { private Integer id; private String name; private String sex; p...
2020-04-02 17:57:37
147
原创 LeetCode 289. 生命游戏 Java实现
题目根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置...
2020-04-02 10:09:46
388
原创 LeetCode 1111. 有效括号的嵌套深度 Java实现
题目有效括号字符串 仅由 “(” 和 “)” 构成,并符合下述几个条件之一:空字符串连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串嵌套,可以记作 (A),其中 A 是有效括号字符串类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S):s 为空时,depth("") = 0s 为 A 与 B 连接时,depth(A + B) ...
2020-04-01 09:20:05
267
原创 LeetCode 912. 排序数组 Java实现
题目给定一个整数数组 nums,将该数组升序排列。链接:https://leetcode-cn.com/problems/sort-an-array/示例 1:输入:[5,2,3,1]输出:[1,2,3,5]示例 2:输入:[5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= A.length <= 10000-50000 <=...
2020-03-31 09:54:15
187
原创 LeetCode 1162. 地图分析 Java实现
题目你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域之间的距离是 |x0...
2020-03-29 16:38:51
186
原创 LeetCode 820. 单词的压缩编码 Java实现
题目给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行...
2020-03-28 11:23:22
276
原创 Java开发框架SSH学习(四)- 自定义转换器和拦截器
目的与内容目的:掌握转换器和拦截器的工作原理内容:把字符串转化为一个复合对象、基础拦截器的编写。实验过程工程结构图一、自定义转换器实验步骤1、创建一个输入内容的JSP页面converter.jspconverter.jsp<%@ taglib prefix="s" uri="/struts-tags" %><%@ page contentType="text/...
2020-03-26 17:26:23
223
原创 Java开发框架SSH学习(三)- 用户登录(验证器)
没错,这次依旧是用户登录模块(真的是要玩出花来),使用验证器来达到用户登录提示的功能,下面是项目目录。使用验证器1、编写登录界面login.jsplogin.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="s" uri="/struts-tag...
2020-03-19 18:07:58
321
原创 Java学习笔记之Spring篇
对于Spring,我们长话短说,直击要害,下面是一些本人的笔记IOCIOC(Inversion of Control):控制反转。IOC中还有一个重要的机制——依赖注入:把底层类作为参数传递给上层类,实现上层对下层的“控制”。IOC、DL、DI的关系IOC容器的优势避免在各处使用new来创建类,并且可以做到统一维护;创建实例时不需了解其中的细节。Bean和Spring容器的关...
2020-03-18 19:54:21
195
原创 Java学习笔记之J.U.C和Java的IO机制篇
简介J.U.C全称为java.util.concurrent,是java解决高并发的一种方案其中包含CAS(Compare and Swap)和AQS(AbstractQueuedSynchronizer)的概念。CAS是atomic包的基础;AQS是locks包和一些常用类如:Semophore、ReentrantLock等类的基础。J.U.C包的分类并发工具类CountDo...
2020-03-17 20:32:36
225
原创 Java学习笔记之集合框架篇
Java集合框架Collection中List和Set的区别MapHashMapHashMap:数组+链表(JDK8以前,最坏情况为O(n))、数组+链表+红黑树(JDK8以后,最坏情况O(logn))HashMap:put方法的逻辑若HashMap未被初始化,则进行初始化操作;对Key求Hash值,依据Hash值计算下标;若未发生碰撞,则直接放入桶中;若发生碰撞,则以链表...
2020-03-17 19:30:44
166
原创 Java学习笔记之异常篇
异常与错误Error和Exception的区别从概念上看Error:程序无法处理的系统错误,编译器不做检查;Exception:程序可以处理的异常,捕获后可能恢复。从责任上看Error属于JVM需要负担的责任;RuntimeException是程序应该负担的责任;Checked Exception可检查异常时Java编译器应该负担的责任。Java的异常体系除Runti...
2020-03-17 19:01:27
95
原创 Java学习笔记之多线程与并发原理篇
前言咱们书接上回,既然线程已被创建,其安全问题便应运而生。产生线程安全问题的主要原因:存在共享数据(临界资源);存在多条线程共同操作这些资源。解决方案的共同特性:同一时刻有且仅有一个线程在操作共享数据,其他线程必须等到该线程处理完后再对共享数据进行操作。(互斥锁)互斥锁的特性:互斥性:同一时间只允许一个线程持有某个对象锁来协调多线程(同一时间只有一个线程对需要同步的代码块进行访...
2020-03-16 21:15:11
244
原创 Java学习笔记之多线程与并发篇
进程和线程的概念及它们之间的区别首先,我们就要知道任务执行的过程是由串行->批处理->进程->线程不断慢慢细化,也随着CPU的核数和线程的不断增多,细粒度的控制要求变得越来越重要,所以进程和线程的概念应运而生。进程:资源分配的最小单位;所有与进程相关的资源,都被记录在PCB(进程控制块)中;进程是抢占处理机的调度单位。线程:CPU调度的最小单位;线程属于某个...
2020-03-15 16:29:32
143
原创 Java学习笔记之GC篇
前言GC又称为垃圾回收,是Java中一种十分重要的机制,但是身边的许多小伙伴并不知道GC的具体实现和流程,下面便是本人一些学习GC的笔记,希望能帮到大家。垃圾回收,首先就得检查出垃圾,所以判断对象是否为垃圾的算法:引用计数算法、可达性分析算法。引用计数算法:判断对象的引用数量通过判断对象的引用数量来决定对象是否可被回收;每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1;任...
2020-03-14 18:52:39
161
原创 Java学习笔记之JVM篇
前言众所周知,Java最大的特性就是平台无关性,即一次编译,到哪都能执行,那么它是如何实现的呢?下图为java的编译过程:Java源码首先被编译成字节码,再由不同平台的JVM进行解析,Java语言在不同的平台上运行不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。也从以上过程中看出JVM的作用,那么如果JVM直接解析源码为机器码会怎么样?答:每次执...
2020-03-13 20:03:46
338
原创 Java学习笔记之Linux命令篇
Linux的体系结构Linux的体系结构主要分为用户态和内核态。内核:本质上是一段管理计算机硬件设备的程序。系统调用:内核访问接口,不可简化操作(可看成原子操作)。公用函数库:系统调用封装起来,提供简单的业务逻辑接口。shell:命令解释器,可编程、运行脚本。实用的Linux命令查找特定文件find path [option] params(params支持表达式)例如:f...
2020-03-12 09:29:07
118
原创 Java学习笔记之Redis篇
缓存中间件同为缓存中间件,Memcache和Redis的区别:Memcache:代码层次类似Hash支持简单数据类型、不支持数据持久化存储、不支持主从、不支持分片Redis:数据类型丰富、支持数据磁盘持久化存储、支持主从、支持分片多路I/O复用模型及Redis常见问题Redis采用的I/O多路复用函数:epoll/kqueue/evport/select的其中一种。下图为select...
2020-03-11 19:37:19
459
原创 Java学习笔记之数据库篇
前言学习一门语言到一定程度要做小项目demo的时候,数据库就变成我们无路可绕的点,那么数据库的架构或者说数据库内部究竟有什么,下面是我总结的一些有关数据库的知识点。(增删查改这些基础的点相信你已经了解了,下面这些是一些进阶内容)数据库的基础架构图,下面是我百度的图:从图的标记不难看出,索引管理和锁管理是数据库比较重要的部分,接下来我们也将围绕着这两个方面展开。索引接触多了增删查改的我...
2020-03-10 21:48:39
406
原创 Java学习笔记之HTTP协议篇
HTTP简介HTTP又称超文本传输协议(应用层),其支持C/S模式且简单、快速、灵活、无连接、无状态等特性HTTP请求的报文结构请求/响应:客户端连接到Web服务器;发送HTTP请求;服务器接受请求并返回HTTP响应;释放TCP的连接;客户端浏览器解析HTML内容。问题:浏览器键入URL按下回车后经历的流程?答:DNS解析(DNS缓存:浏览器缓存、系统缓存、路由器缓存...
2020-03-09 21:44:15
169
原创 Java学习笔记之TCP/IP协议篇
前言学好计算机网络首先地对它的体系结构有一定的了解。OSI七层协议:物理层、数据链路层、网络层 、传输层(主机间的数据传输)、会话层、表示层、应用层TCP/IP概念模型:链路层、网络层、传输层、应用层TCP和UDP的简介与区别TCP又称传输控制协议,面向连接、可靠、基于字节流的传输层通信协议,将应用层的数据流分割成报文段并发送给目标节点的TCP层。(数据包都有序号,已接收会发送ACK(a...
2020-03-09 21:09:06
403
1
原创 Java开发框架SSH学习(二)- 用户登录改进
目标在(一)的实验基础上,探索:命名空间及result的转发类型为Action的属性注入值配置共享视图及异常处理机制具体步骤(有些代码与(一)相同的代码这里就不以贴出)定义两个action类用于区分普通用户和管理用户登录LoginAction.javapublic class LoginAction extends ActionSupport implements Sess...
2020-03-08 20:22:10
160
原创 Java开发框架SSH学习(一)- 用户登录
目标创建web项目,利用Struts2构建环境,实现简单的登录功能具体步骤引入jar包struts2-core-2.2.1.jarxwork-core-2.2.1.jarfreemaker-2.3.16.jarcommons-fileupload-1.2.1.jarcommons-io-1.3.2.jarjavassist-3.7.ga.jarweb.xml<...
2020-03-08 19:50:50
266
原创 Git工具使用的相关流程(新人专用)
一、安装以Linux系统为例: yum install git二、Git获取ssh绑定码云或GitHub:ssh -keygen -t rsa -C "****@***.com"生成ssh key pairssh-add ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub复制公钥到GitHub的配置中三、GitHub上新建仓库:选择项目类型、添加.gitig...
2020-03-07 21:40:13
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人