- 博客(45)
- 收藏
- 关注
转载 synchronized(this) 与 synchronized(class) 理解
1.概念synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。锁机制有如下两种特性:互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。可见性:必须确保在锁被释放之前,对共享变量所做的...
2018-08-01 17:11:00 251
转载 【记录】spring boot 图片上传与显示
问题:spring boot 使用的是内嵌的tomcat, 文件上传指定目录时不知道文件上传到哪个地方,不知道访问路径。//部署到服务器的tomcat上时通常使用这种方式request.getServletContext().getRealPath("picture/");//然而在spring boot中内嵌的tomacat,所以是临时目录,如:C:\Users\Adminis...
2018-07-19 14:11:00 168
转载 Cookie-Session机制
1.什么是SessionHTTP协议本身是无状态的,浏览器的每一次请求都是独立的,浏览器不会保存过去的请求信息。服务器为了记录用户的状态就需要使用某种机制来保持会话,在Http传输中采用了Session机制。 Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。在Servlet中,session指的是HttpSession类的对象。...
2018-06-26 21:43:00 132
转载 linux利用用户组给用户赋予不同的权限
在Linux中wheel组就类似于一个管理员的组。通常在LUNIX下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普...
2018-05-08 10:41:00 1646
转载 JAVA的内存回收
Java内存管理包括内存分配和内存管理两方面,这两方面都是JVM自动完成的,带来了很大方便的同时也加重了JVM的工作,从而使Java程序运行变慢。基本上可以把JVM内存中的对象引用理解成一种有向图,把引用变量、对象都当成有向图的顶点,将引用关系当成图的有向边,有向边总是从引用端指向被引用对象。因为对象都是由线程创建的,所以可以把线程对象当成有向图的起始顶点。当一个堆对象在内存中运...
2018-05-03 15:22:00 105
转载 java .equals()和==的区别
(1)比较基本数据类型对于8种基本数据类型的变量,变量直接存储的是“值”,因此在用关系操作符==来进行比较时,比较的就是“值” 本身。(2)比较包装类public class Main { public static void main(String[] args) { Integer i1 = new Integer(1); ...
2018-04-30 19:09:00 111
转载 String直接赋值和使用new的区别
String str2 = new String("ABC");上面语句创建了几个字符串对象?上面语句实际上创建了2个字符串对象,一个是“ABC”这个直接量对应的对象,一个是new String()构造器返回的字符串对象。在JVM里,考虑到垃圾回收(Garbage Collection)的方便,将heap(堆)划分为三部分:young generation(新生代)、tenure...
2018-04-30 18:39:00 153
转载 历届试题 包子凑数
/*历届试题 包子凑数问题描述 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的...
2018-03-30 15:20:00 141
转载 罗马数字
古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: I 1 V 5 X 10 L 50 C 100...
2018-03-30 14:56:00 189
转载 历届试题 九宫幻方
/*标题:九宫幻方 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出...
2018-03-29 13:59:00 362
转载 二分法的应用:最大化最小值 POJ2456 Aggressive cows
/*二分法的应用:最大化最小值 POJ2456 Aggressive cowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18125 Accepted: 8636DescriptionFarmer John has built a new long bar...
2018-03-28 14:07:00 169
转载 二分法的应用:POJ1064 Cable master
/*POJ1064 Cable master时间限制: 1000MS 内存限制: 10000K提交总数: 58217 接受: 12146描述Wonderland的居民已经决定举办地区性编程比赛。评委会自愿并承诺举办有史以来最诚实的比赛。决定使用“星形”拓扑结构为参赛者连接计算机 - 即将它们全部连接到单个中央集线器。为了组织一场...
2018-03-28 13:31:00 195
转载 任意两点间的最短路问题(Floyd-Warshall算法)
/*任意两点间的最短路问题(Floyd-Warshall算法)*/import java.util.Scanner;public class Main { //图的顶点数,总边数 static int V, E; //存储所有的边,大小为顶点数 static int[][] Edges; static in...
2018-03-27 21:06:00 280
转载 单源最短路径问题2 (Dijkstra算法)
用邻接矩阵/*单源最短路径问题2 (Dijkstra算法)样例: 5 7 0 1 3 0 3 7 1 2 4 1 3 2 2 3 5 2 4 6 3 4 4输出: [0, 3, 7, 5, 9]*/import java.util.Arrays;import ja...
2018-03-27 16:52:00 147
转载 单源最短路径问题1 (Bellman-Ford算法)
/*单源最短路径问题1 (Bellman-Ford算法)样例: 5 7 0 1 3 0 3 7 1 2 4 1 3 2 2 3 5 2 4 6 3 4 4输出: [0, 3, 7, 5, 9]*/import java.util.ArrayList;import java...
2018-03-27 16:10:00 251
转载 二分图判定
二分图判定 给定一个具有n个顶点的图,要给每个顶点染色,并且要使相邻的顶点颜色不同,问是否最多能用两种颜色进行染色?题目保证没有重环和自环。/*用邻接表深度遍历*/import java.util.ArrayList;import java.util.Scanner;public class Test { //图的顶点数,总边数 ...
2018-03-26 20:53:00 116
转载 用邻接表表示带权有向图
/*用邻接表表示带权有向图*/import java.util.ArrayList;import java.util.Scanner;public class Test { //图的顶点数,总边数 static int V, E; //存储所有的边,大小为顶点数 static ArrayList<Edge>...
2018-03-26 19:20:00 3091
转载 扩展欧几里得原理的应用:POJ1061青蛙的约会
/* POJ 1061: 青蛙的约会Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 123709 Accepted: 26395Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约...
2018-03-26 18:56:00 157
转载 扩展欧几里得算法
/* 扩展欧几里得算法给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b)设aX' + bY' = gcd(a, b) bX'' + (a mod b)Y'' = gcd(b, a mod b) bX'' + (a mod b)Y'' = gcd(a, b) bX'' + (a mod b)Y'' = aX...
2018-03-24 20:12:00 107
转载 求最大公约数 辗转相除法
/*求最大公约数 辗转相除法*/public class Main { public static void main(String[] args) { System.out.println(gcd(14, 21)); } static int gcd(int a, int b) { if (b == 0)...
2018-03-24 19:10:00 102
转载 算法提高 矩阵相乘
/*算法提高 矩阵相乘问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容。 当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的。 小明希望你来帮他完成这个任务。 现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵, 要你求出他们相乘的积(当然也是矩阵)。 (输入数...
2018-03-22 15:16:00 109
转载 算法提高 聪明的美食家
/*算法提高 聪明的美食家 问题描述 如果有人认为吃东西只需要嘴巴,那就错了。 都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。 大宝是一个聪明的美食家,当然深谙此道。一次他来到某小吃一条街,准备从街的一头吃到另一头。为了吃得爽,他大费...
2018-03-22 15:10:00 95
转载 算法训练 筛选号码
/*算法训练 筛选号码 问题描述 有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。 问最后留下的是原来第几号的那位。 举个例子,8个人围成一圈: 1 2 3 4 5 6 7 8 第1次报数之后,3退出,剩下: 1 2 4 5 6...
2018-03-22 14:58:00 63
转载 历届试题 兰顿蚂蚁
问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。...
2018-03-22 14:56:00 100
转载 历届试题 分糖果
/*历届试题 分糖果 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共...
2018-03-22 14:55:00 102
转载 算法提高 质数的后代
/*算法提高 质数的后代 问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。 如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。输入格式 第一行一个正整数T,表示需要判断的自然数数量 接下来T行,...
2018-03-22 14:54:00 98
转载 算法提高 6-9删除数组中的0元素
/*算法提高 6-9删除数组中的0元素 问题描述 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组长度,再依次读入每个元素。 将调用此函数后得到的数组和函数返回值输出...
2018-03-22 14:52:00 171
转载 算法训练 连续正整数的和
/*算法训练 连续正整数的和 问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n。 对于多种表示法,a小的方案先输出。样例输入78样例输出1 12...
2018-03-22 14:50:00 122
转载 算法提高 寻找三位数
/*算法提高 寻找三位数 问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。输入格式 无输入文件输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。*/publ...
2018-03-22 14:48:00 168
转载 算法训练 学做菜
/*算法训练 学做菜 问题描述 涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。 涛涛现在会做的菜有五种: 1、 西红柿炒鸡蛋 原料:AABDD 2、 酸辣鸡丁 原料:ABCD 3、 宫保鸡丁 原料:CCD 4、 水煮西红柿 原料:BBB...
2018-03-22 14:46:00 92
转载 历届试题 带分数
/*历届试题 带分数问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*...
2018-03-22 14:45:00 78
转载 历届试题 剪格子
/*历届试题 剪格子 问题描述如下图所示,3 x 3 的格子中填写了一些整数。+--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的...
2018-03-22 14:43:00 84
转载 历届试题 矩阵翻硬币
/*历届试题 矩阵翻硬币 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操...
2018-03-22 13:37:00 61
转载 基础练习 查找整数
/*基础练习 查找整数 问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。...
2018-03-22 13:34:00 109
转载 基础练习 Huffuman树
/*基础练习 Huffuman树 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的...
2018-03-22 13:31:00 113
转载 算法训练 6-1 递归求二项式系数值
算法训练 6-1 递归求二项式系数值 问题描述样例输入一个满足题目要求的输入范例。3 10样例输出与上面的样例输入对应的输出。数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。import java.util.Scanner;public class Main { publ...
2018-03-22 13:29:00 81
转载 算法训练 2的次幂表示
/*算法训练 2的次幂表示 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2...
2018-03-22 13:26:00 132
转载 基础练习 十六进制转八进制
/*基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正...
2018-03-22 13:24:00 68
转载 算法提高 8皇后·改
/*算法提高 8皇后·改 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。输入格式 一个8*8的棋盘。输出格式 所能得到的最大数字和样例输入1 2 3 4 5 6 7 89 10 11 12 13 14 15 1617 18 19 20 21 22 23 2425 26 27 28 2...
2018-03-22 13:20:00 119
转载 算法提高 最长公共子序列
/*算法提高 最长公共子序列 问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列。输入格式 输入两行,分别包含一个字符串,仅含有小写字母。输出格式 最长公共子序列的长度。样例输入abcdghaedfhb样例输出3样例说明 最长公共子序列为a,d,h。数据规模和约定 字串长度1~1000。...
2018-03-22 13:18:00 146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人