自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Volatile特性及代码说明:

volatile:是虚拟机提供的轻量级的同步机制;(1)保证可见性(2)不保证原子性(3)禁止指令重排一、关于volatile保证可见性:(1) 为什么会出现可见性的问题?由于线程工作和内存的关系,线程对变量的操作(读取或赋值)都必须将变量从主物理内存拷贝到自己的工作空间内,操作完成后再将变量写回主内存,而不能直接操作主内存中的变量,因此不同的线程之间无法互相访问彼此的工作内存。当A线...

2019-08-03 19:41:54 174

原创 面向切面的Spring(AOP)开发过程举例详解

举例理解:有A,B,C三个方法,但是在调用每一个方法之前,要求打印一个日志:某一个方法被开始调用了!在调用每个方法之后,也要求打印日志:某个方法被调用完了!一般人会在每一个方法的开始和结尾部分都会添加一句日志打印吧,这样做如果方法多了,就会有很多重复的代码,显得很麻烦,这时候有人会想到,为什么不把打印日志这个功能封装一下,然后让它能在指定的地方(比如执行方法前,或者执行方法后)自动的去调用呢...

2019-07-02 22:10:31 321

原创 Spring对JDBC的操作:jdbc Template 介绍和 spring 链接数据源的几种方式

JDBC template 介绍:Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate位于spring-jdbc中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个Spring-tx-4....

2019-07-02 21:49:04 320

原创 动态代理

一、静态代理步骤详解:1.声明目标对象的接口;UserService.javapublic interface UserService { public void addUser(String name);}2.声明目标对象类并实现接口:UserServiceImpl.java //实际对象public class UserServiceImpl implements UserS...

2019-06-14 10:58:49 97

原创 mybatis理解补充

1、关于mybatismybatis是一个持久层的框架,是apache下的顶级项目。它让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要的sql语句。mybatis可以将preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)2、相关概念(1)mybatis-Co...

2019-05-31 15:05:02 142

原创 mybatis入门配置及项目创建详细笔记;

1.www.arpache.org 下载maven并进行环境变量配置。2.eclipse新建maven项目:2.1 生成的项目中pom.xml文件是用来统一管理包的。2.2 将jdk版本升级。3.搭建mybatis开发环境:3.1: jdbc驱动(mavenRepository中搜索并复制代码到pom.xml中,版本5.1.40)3.2:mybatis核心包:(GitHub中搜索复制...

2019-05-17 15:52:06 130 1

原创 Trie

Trie:是一种多叉树,专门用来处理字符串。查询每个条目的时间复杂度与条目数量无关,只与待查询的单词长度有关。package Trie;/*工作过程:先定义一个遍历节点cur,将待查或待插入的单词字符取出,依次与cur.next比较若不包含?新建一个节点并把这个字符存进去。cur.nexts.put(c,new Node());若包含?就不用创建新节点,cur后移。cur=cur.n...

2019-05-07 15:42:49 105

原创 堆和优先队列

////基于数组实现的最大堆public class MaxHeap<E extends Comparable<E>> { private ArrayList<E> data; //写好的线性表 MaxHeap(){//构造函数内维护一个线性表 data=new ArrayList<>(); } public MaxHeap(int c...

2019-05-05 17:56:19 121

原创 4.30牛客网刷题易错点:

1.下列代码哪里有错误?byte b1=1,b2=2, b3, b6;final byte b4=4, b5=6;b6=b4+b5;b3=(b1+b2); ////错误System.out.println(b3+b6);解: 其中b3=(b1+b2)编译出错;因为b1和b2都是byte类型的值,计算时候会将它们提升为int类型,所以b1+b2计算后已经是int型,赋给b3,b3是b...

2019-04-30 20:28:05 409

原创 集合与映射——基于线性表和二叉树实现:

1.集合Set接口定义:public interface Set {public void add(E e);public void remove(E e);public boolean contains(E e);public int getSize();public boolean isEmpty();}(1)基于链表ArrayList实现的集合:linkedSetimpor...

2019-04-30 01:13:10 181

原创 4.29牛客网刷题知识点汇总:

1.子父类继承中代码执行的顺序:父类静态成员和代码块—子类静态成员和代码块—父类普通成员和代码块—父类构造函数—子类普通成员和代码块—子类构造函数2. 关于final关键字:final用于声明变量属性、方法、类。final修饰的类不能被继承;final修饰的变量不能被修改;fina修饰的方法被继承后不能被重写3. 数组定义的格式:(1)命名时数组名字和【】可以随意排列;int A【】...

2019-04-30 00:51:34 180

原创 二分搜索树详细操作:

**二分搜索树树结构简介树结构本身是一种天然的组织结构,将数据使用树结构存储后,会大幅高效率。什么是二叉树和链表一样,动态数据结构class Node{E e;Node left; //左孩子Node right; //右孩子}多叉树(多个子结点)二叉树具有唯一根节点二叉树中每个结点最多有两个孩子,没有孩子的结点称之为叶子结点二叉树中每个结点最多有一个父亲结点,根节点没有...

2019-04-19 23:22:46 241

原创 二叉搜索树相关操作:

package 二分搜索树;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class BinarySearchTree1<E extends Comparable> { //comparable代表不能重复private class Node{ //内...

2019-04-12 16:50:39 103

原创 CCNA

OSI 七层参考模型:物数网传会表应。应用层:通过人机交互实现各种各样的服务;表示层:编码 解码 加密 解密会话层:发现 建立 维持 终止对话;传输层:1.通过端口号来区分不同的服务0-65535 1-1023 著名端口号 1024-65535 动态端口号2.提供可靠的传输 确认 重传 排序 流控(流量控制)TCP 传输控制协议 面向连接的可靠传输协议UDP用户数据报文协议...

2019-04-12 13:13:38 692

原创 用数组实现线性表、栈、队列:

先定义好线性表接口List:package 动态数组;/*java中数组的特点1.长度一旦确定不能被修改 //扩容2.存储空间连续而且大小相等时间复杂度 o(1)3.只有一个数组*///线性表:public interface List {public int getSize();//获取列表中元素的个数public boolean isEmpty();//判断当前链表是...

2019-04-12 13:09:41 201

原创 小结 - 链表中的双指针

双指针模板://定义 slow & fast 指针ListNode slow = head;ListNode fast = head;/**Change this condition to fit specific problem.Attention: 注意避免空指针错误**/while (slow != null && fast != null &amp...

2019-04-12 13:08:49 212

原创 树的遍历:

给定一个二叉树,返回他的前序遍历;class Solution {public List preorderTraversal(TreeNode root) {ArrayList res = new ArrayList();//定义一个整数resArrayList p = new ArrayList(); //定义一个节点pwhile (root != null || p.size() !...

2019-04-06 18:54:11 151

原创 递归经典例题之八皇后&汉诺塔

public class EightQueen {private static int count=0; //记录第几种可能public static void main(String[] args) {int[][] arr=new int[8][8]; //默认元素为0 1当皇后eightQueen(0,arr); //打印八皇后所有可能的解 并且从第一行开始 0}//row [0...

2019-04-06 18:49:39 238

原创 给定先序遍历求二叉树

1008 。 先序遍历构造二叉树class Solution {public TreeNode bstFromPreorder(int[] preorder) {if(preorder.length == 0){return null;}Stack stack = new Stack<>();TreeNode ret = new TreeNode(preorder[0])...

2019-04-06 18:06:14 236

原创 Java连接数据库详细代码及注释

一:建立连接public class DBConnection{/ /1. 连接XX数据库的驱动管理private statc final String driverManager=“com.mysql.jdbc.Driver” ;/ /2. 建立连接:private static Connection conn;//(conn为数据库连接的全局变量)/ / 3.代理;操作...

2019-04-06 16:12:56 1017

原创 leetcode错题汇总

709:将字符串转换为小写字母class Solution {// A~Z: 65-90// a~z: 97~122public String toLowerCase(String str) {StringBuilder sb = new StringBuilder();for(int i =0;i<str.length();i++){char a = str.charAt...

2019-04-03 20:12:27 302

原创 leetcode经典例题(详细思路及代码注释)

141.给定一个链表,判断链表中是否有环。public class Solution {public boolean hasCycle(ListNode head) {if(headnull||head.nextnull){ //若链表为空,或链表中只有一个元素,则一定无环;return false;}ListNode fast=head;ListNode slow=head;wh...

2019-04-02 17:52:08 4403 1

原创 leetcode链表相关经典习题:

1.给定一个链表,判断链表中是否有环。/**Definition for singly-linked list.class ListNode {int val;ListNode next;ListNode(int x) { val = x; next = null;}}/public class Solution {pub...

2019-03-31 00:12:03 198

原创 牛客网错题汇总:

1.有关静态初始化块说法正确的是?正确答案: A B C 你的答案: A B D (错误)A 无法直接调用静态初始化块B 在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化C 静态初始化块既没有访问修饰符,也没有参数D 在程序中,用户可以控制合适执行静态初始化块2.StringBuffer类对象创建之后可以再修改和变动.正确答案: A 你的答案: B (...

2019-03-11 20:37:17 2160 1

原创 第七章 二维数组及习题

1.输入两个矩阵,计算两个矩阵相加;public class test7_4两个矩阵相加 {public static void main(String[] args) {int [][]a=new int[3][3];int [][]b=new int[3][3];int [][]c=new int[3][3];Scanner scanner=new Scanner(System.i...

2018-12-16 18:34:55 322 1

原创 第八章:面向对象课堂笔记与部分习题

对象:某一个具体的事物 实例 实体类:就是具有相同属性和行为的一些对象的统称 集合类 - 对象:描述事物时候 通常只描述两个属性、行为。属性: 变量行为:方法面向对象特征:封装 继承 多态一般而言 把描述事物的类,称之为实体类工具类 Arrays Math...

2018-12-14 18:42:31 516

原创 FHS文件系统结构标准

在FHS中,所有的(包括存储于不同物理/虚拟设备中的)文件和目录都存在于根目录 / 下。其中,部分目录仅当特定系统(如X Window)安装后才会存在。下表中大部分目录都以相似的功能存在于所有的UNIX系统中。但是,以下的描述仅针对FHS,且对非Linux系统并非权威/ 主层次结构的根&amp;&amp;整个文件系统的根目录/bin   所有用户在单用户模式中必须具备的二进制命令文件,如 c...

2018-11-22 19:13:15 277

转载 linux发展史

Linux 发展史:Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,可支持32位和64位硬件。Linux继承了Unix以...

2018-11-22 19:05:50 132

原创 第六章:一维数组知识点及习题

数组的定义:存储同一类型数据的一个集合。数组一旦被创建,它的大小是固定的。使用一个数组引用变量,通过下标来访问数组中的元素。

2018-11-07 18:41:03 586

原创 第五章习题

例题5.1:编写一个方法,计算一个整数个位数字之和,使用下面方法头:public static int sumDigits()(long n),例如 sumDigit(234),返回2+3+4=9;解:public class test5_1 {public static void main(String[] args){Scanner scanner=new Scanner(Syste...

2018-10-27 15:08:00 314

原创 第五章:主要函数,字符串函数总结

主要方法:三角函数:sin:返回以弧度为单位的三角正弦函数值;cos:返回以弧度为单位的三角余弦函数值;tan:返回以弧度为单位的三角正切函数值;asin:返回以弧度为单位的反三角正弦值;acos:返回以弧度为单位的反三角余弦值;atan:返回以弧度为单位的反三角正切值;toRadians:将度单位转换为弧度单位;toDegree:将弧度单位转换为度单位;指数函数:exp(x...

2018-10-22 20:52:31 159

原创 第四章习题总结

第四章循环语句习题总结:**例题:**找出整数的所有最小因子,以升序排列,例如:输入120, 显示2,2,2,3,5;思路分析:因为1可以被任何数整除,所以从2开始,依次对3,4,5,6…进行判断;先对2进行取余,若(number%20),则输出2;此时number变为number/2;再继续返回第一步循环;若(number%2!=0),再对3取余…继续循环;程序如下://1.提示...

2018-10-22 19:31:56 210

原创 第四章:循环语句知识点及部分例题

While 适合于循环条件已知 但是循环次数未知的情况:for 适合于循环次数已知的情况;for 和while可以完全互换;while(循环继续条件){需要被循环执行的代码 //循环体}循环初始化–循环继续条件–循环体–循环间距循环初始化while(循环继续条件){循环体循环间距}while(true){循环体循环间距}...

2018-10-10 23:34:00 229

原创 第一章 计算机、程序和Java概述

课堂笔记:1.计算机基本组成显示屏、处理器、存储设备、输入输出设备(扫描仪、麦克风、鼠标、键盘;音响、显示屏等)、通信设备。2.软件开发软件的定义:软件是一种按照特定顺序,利用计算机解决某类问题而设计的程序的集合。软件的分类;软件开发:3.计算机语言人类语言;机器语言;汇编语言;高级语言;4.java语言Java三大体系:JRE: Java Runtime Envir...

2018-10-06 16:16:54 179

原创 第二章:关键字、标识符、输入和输出

课堂笔记:关键字keyword:在高级编程语言里,被赋予特殊含义的单词标识符:自定义的名称 变量 函数 类名 包名起名规则:1必须是一个词2只能包含数字 字母 下划线 美元符 数字不能开头3严格区分大小写起名规范;1变量名/函数名 小驼峰 age myAge doSomething2类名/接口名 大驼峰 StudentName LoveYou3常量 所有字母大写...

2018-10-06 15:51:46 379

原创 第三章 选择语句

第3章 选择语句3.1 比较运算符大于 &amp;gt;大于等于 &amp;gt;=小于 &amp;lt;小于等于 &amp;lt;=等于 ==不等于 !=3.2 逻辑运算符单与 &amp;amp;双与 &amp;amp;&amp;amp;或 |双或 ||非 !异或 ^单与 &amp;amp;和 双与 &amp;amp;&amp;amp;区别:单与 &amp

2018-10-06 14:48:11 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除