02 2019 档案
摘要:1 package cn.test; 2 3 public class Test07 { 4 /* 5 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 6 */ 7 /* 8 思路:a&(a-1)的结果会将a最右边的1变为0,直到a = 0,还可以先将a&1 != 0,然后右移1位,但不能计算负数的值,...
阅读全文
摘要:1 package cn.test; 2 3 public class Test05 { 4 public static void main(String[] args) { 5 Test05 test05 = new Test05(); 6 7 System.out.println(test05.JumpFloor(10)); 8 ...
阅读全文
摘要:一、synchronized 关键字 1)synchronized 锁什么?锁对象。可能锁对象包括: this, 临界资源对象,Class 类对象。如同下面例子所示; 2)如果在加锁的时候对当前对象的访问限定要求比较低的时候,建议锁某一段代码或者某一个对象;如果访问限定要求比较高的话,建议锁当前对象
阅读全文
摘要:package cn.test; /* 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数, 判断数组中是否含有该整数。 */ public class Test01 { private static int[][] array = {{1,2,3,4,5}, ...
阅读全文
摘要:前面也说到了关于SSM的整合,话不多说直接从创建项目开始CRUD之路(参考前面写过的Mybatis和Spring整合,SSM简单整合),这是整个项目的结构 以及最终的结果。(附上下载地址) 一、创建Maven项目 1、在Project中按照下面步骤进行创建一个新的maven项目 2、然后填写项目的坐
阅读全文
摘要:本文中使用的测试数据表:sql-learn.sql 一、创建和操作数据表 1、创建表 a)创建表使用create table:包括表的名字,标的字段(使用逗号隔开) CREATE TABLE `t_user` ( `user_id` INT(11) NOT NULL AUTO_INCREMENT,
阅读全文
摘要:在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于SpringMVC的Controller的一些细节。 首先附上整个项目结构图,附上整个代码工程的下载地址,
阅读全文
摘要:一、简单测试工程搭建 1、Mybatis所需要的的jar包(包含数据库驱动包和相关的日志包)、SpringMVC和Spring的jar包 2、然后构建一个基本的工程,这里我们使用mapper代理的方式进行Mybatis的编写,关于mapper代理请参考Mybatis简单入门中的Mybatis开发da
阅读全文
摘要:一、TCP三次握手和四次挥手 1、建立连接的时候的三次握手过程 下面解释一下图中的各个状态的含义: ①LISTEN: 表示Server端的某个 SOCKET 处于监听状态,可以接受连接了。 ②SYN_SENT: 当客户端 SOCKET 执行 CONNECT 连接时,它首先发送 SYN 报文,因此也随
阅读全文
posted @ 2019-02-20 10:29
夏末秋涼
摘要:有兴趣可以先参考前面的几篇JVM总结: JVM自动内存管理机制-Java内存区域(上) JVM自动内存管理机制-Java内存区域(下) JVM垃圾收集器与内存分配策略(一) 我们知道,在编写一个Java程序后,需要由虚拟机将描述类的数据从Class文件(这里面的Class文件不是指某个特定存在于磁盘
阅读全文
摘要:在前面的Java自动内存管理机制(上)和Java自动内存管理机制(下)中介绍了关于JVM的一些基础知识,包括运行时数据区域划分和一些简单的参数配置,而其中也谈到了GC,但是没有深入了解,所以这里开始简单的了解一下GC知识。本篇中主要介绍垃圾收集器回收对象的时候怎样判断对象是否已死和一些垃圾收集算法的
阅读全文
摘要:一、虚拟机参数配置 在上一篇《Java自动内存管理机制——Java内存区域(上)》中介绍了有关的基础知识,这一篇主要是通过一些示例来了解有关虚拟机参数的配置。 1、Java堆参数设置 a)下面是一些简单的使用参数 其中最后一个是一个运行时参数设置的简单实例。一般-XX是系统级别的配置(日志信息,或者
阅读全文
摘要:一、输入映射 我们通过配置parameterType的值来指定输入参数的类型,这些类型可以是简单数据类型、POJO、HashMap等数据类型 1、简单类型 2、POJO包装类型 ①这是单表查询的时候传入的POJO包装类型,即可以直接传入实体类,但是当多表查询的时候,就需要自定义POJO类型 ②我们使
阅读全文
摘要:动态规划算法的步骤 1. 刻画一个最优解的结构特征; 2. 递归地定义最优解的值; 3. 计算最优解的值; 4. 利用计算出的信息,构造一个最优解。 钢条切割问题描述 (1)Serling公司购买长钢条,将其切割为短钢条出售。不同的切割方案,收益是不同的,怎么切割才能有最大的收益呢?假设,切割工序本
阅读全文
摘要:一、JVM运行时数据区域概述 Java相比较于C/C++的一个特点就是,在虚拟机自动内存管理机制的帮助下,我们不需要为每一个操作都写像C/C++一样的delete/free代码,所以也不容易出现内存泄漏和内存溢出的问题。显然,这里的不容易只是相对而言的,如果我们想要降低这种代码隐患的发生,就需要对J
阅读全文
摘要:一、dao接口+实现类的方式 1、先创建好整合工程结构 2、对于Spring和Mybatis 整合,我们先从数据库开始,即先创建一张简单的数据表,Sql如下 然后根据从上面的数据表创建对应的实体类 1 package cn.test.ssm.po; 2 3 import java.io.Serial
阅读全文
摘要:最小生成树的形成 (1)一个贪心策略设计如下 每个时刻生长最小生成树的一条边,并在整个策略的实施过程中,遵守下述循环不变式的边集合A: 每一步,选择一条边(u,v)加入集合A,使得A不违反循环不变式。 这样的边使得我们可以“安全地”将之加入到集合A而不会破坏A的循环不变式,因此称之为集合A的“安全边
阅读全文
摘要:BellMan-ford算法描述 1.初始化:将除源点外的所有顶点的最短距离估计值 dist[v] ← +∞, dist[s] ←0; 2.迭代求解:反复对边集E中的每条边进行松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距离;(运行|v|-1次) 3.检验负权回路:判断边集E中
阅读全文
摘要:一、Mybatis中的延迟加载 1、延迟加载背景:Mybatis中Mapper配置文件中的resultMap可以实现高级映射(使用association、collection实现一对一及一对多(多对多)映射),同样的association、collection具备延迟加载功能。所谓延迟加载,就是先单
阅读全文
摘要:一、一对一关系映射 使用resultType+包装类实现 1、假设问题背景是要求在某一个购物平台的后台程序中添加一个这样的功能:查询某个订单的信息和下该订单的用户信息。首先我们可以知道,一般这样的平台上面,某一笔订单只属于某一个用户,从这个角度来看,可以作为一对一的参考模型 ①首先创建数据表user
阅读全文
摘要:1、Mybatis概述 MyBatis 是支持普通 SQL 查询(相比较于Hibernate的封装,Mybatis是半自动化的JDBC封装,一个特点就是Mybatis执行的SQL查询语句需要自己在配置文件中写),存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参
阅读全文
摘要:一、SpringMVC原理解析 1、我们首先分析一下整个请求处理的流程: ①在B/S架构的系统中,用户首先从浏览器中发出Http请求(请求中会包含用户的请求内容信息或者表单信息),然后首先经过前端控制器(DispatcherServlet)进行处理, ②然后前端控制器需要接触处理器映射器知道自己使用
阅读全文

浙公网安备 33010602011771号