自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只笨鸟丶的专栏

人生有梦,各自精彩。

  • 博客(21)
  • 收藏
  • 关注

原创 六角填数(DFS)

import java.util.*;public class Main { public static void main(String[] args) { int[] b = new int[7]; int[] a = new int[13]; int[] flag = new int[13]; a[1] = 1;...

2018-03-28 10:09:27 329

原创 杭电1878_欧拉回路——java

Problem Description欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为...

2018-03-27 13:47:51 517 1

原创 A*启发式搜索算法

    关于这个算法的原理的可以看该推文:什么是A*寻路算法。    A*算法涉及到两个集合:openList和closeList。openList是存储当前点可达的位置,closeList是存储搜索时曾达到的点。    公式:F = G+H;G代表起点走到当前点的成本,H代表无障碍下到达终点的成本。    下面的搜索是只可上下左右移动,所以H = |x1 - x2| + |y1 - y2|;如果...

2018-03-21 10:39:39 1675

转载 什么是ConcurrentHashMap?

————————————————————————前两期我们讲解了HashMap的基本原理,以及高并发场景下存在的问题。没看过的小伙伴可以点击下面链接:漫画:什么是HashMap?漫画:高并发下的HashMap如果实在懒得看也没有关系,我们来简单回顾一下HashMap的结构:简单来说,HashMap是一个Entry对象的数组。数组中的每一个Entry元素,又是一个链表的头节点。Hashmap不是线程...

2018-03-20 11:54:14 675

转载 什么是CAS机制?(进阶篇)

这一期我们来深入介绍之前遗留的两个问题:Java当中CAS的底层实现CAS的ABA问题和解决方法首先看一看AtomicInteger当中常用的自增方法 incrementAndGet:public final int incrementAndGet() {for (;;) {int current = get();int next = current + 1;if (compareAndS...

2018-03-20 11:49:35 435

转载 什么是 CAS 机制?

—————  第二天  —————————————————示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。最终输出的count结果是什么呢?一定会是200吗?加了同步锁之后,count自增的操作变成了原子性操作,所以最终的输出一定是count=200,代码实现了线程安全。为什么这么说呢?关键在于性能问题。Synchronized关键字会让没有得到锁资源的线程进入BLOCKE...

2018-03-20 11:47:11 241

转载 什么是HashMap?

————————————众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。对于HashMap,我们最常使用的是两个方法:Get 和 Put。1.Put方法的原理调用Put方法的时候发生了什么呢?比如调用 hashMa...

2018-03-20 09:20:42 610

原创 String创建对象的问题(java面试题)

对于如下代码:String s1 = "a";String s2 = s1 + "b";String s3 = "a" + "b";System.out.println(s2 == "ab");//falseSystem.out.println(s3 == "ab");//true至于为什么s2 == "ab" 为false,s3 == "ab";为true在这里先讲一个点...

2018-03-19 11:43:06 2113 2

转载 如果有人问你数据库的原理,叫他看这篇文章

如果有人问你数据库的原理,叫他看这篇文章 本文由 伯乐在线 - Panblack&nb...

2018-03-16 17:30:47 251

原创 Cookie的domain、path和session的一些点

    首先先讲session的一个问题,当浏览器第一次访问服务器的时候,服务器的响应header里面会返回set-cookie,里面存储的seesionId。它只会在第一次访问服务器,响应头才会出现。之后浏览器会一直带着该sessionId去访问服务器。至于的的key值的名字会根据服务器的不同而不同,比如weblogic对于web应用程序生成的cookie,JSESSIONID=XXXX,它的名...

2018-03-16 17:19:28 5268

原创 Java中——javac、java命令以及-classpath参数总结

在最近学习Maven的过程中,对java是怎么编译和寻找对应的类加载做了一下实验。1、实验环境:用idea呈现结构,doc做为编译和运行User类的属性:WechatUtil类只有一个静态方法:Main类:直接运行Main的结果:classes文件夹是装载编译后的文件,src是装在java的源文件。2、javac:javac命令编译.java源文件的时候,它会去寻找相关的import的类,如Mai...

2018-03-16 11:58:17 16543 1

转载 Idea的Mark Directory As

1. Source roots (or source folders)By assigning a folder to this category, you tell IntelliJ IDEA that this folder and its subfolders contain source code that should be compiled as part of the build p...

2018-03-09 14:09:00 2466

原创 关于JavaException的基本知识和性能问题

异常:1、多个catch块,父类异常必须放后面,子类放前面,如果是捕获多种异常,则cathch后面的异常变量隐藏了final,不能改变他的值,单个异常才可以。2、catch、finally,不能独立存在,必须跟在try后面。但catch和finally需要存在其中一个,但是有种特别的隐藏,就是我们调用物理资源的时候,java7中,try中后面可以跟圆括号,里面实例化我们的资源变量。这样可以自动回收...

2018-03-05 11:40:13 762

原创 Java的Annotation的一些问题

    从JDK5开始,java才增加对元数据的支持。有5个基本的Annotaion,其中有一个是java7新增的,一个是java8新增的。除了有5个基本的Annotation外,还有6个元Annotation,其中5个都用于修饰其他的Annotation,其中@Repeatablez专用于java8。    父类的类上和方法上有自定义的Annotation,子类继承了这个父类,情况如下。    ...

2018-03-05 11:13:03 255

原创 杭电1874_畅通工程续(Dijkstra算法)——java

Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input本题目包含多组数据,请处理到文件结束。每组数据第一行包含两个正整数N和M(0<N...

2018-03-02 17:41:51 319

原创 杭电1863_畅通工程(最小生成树)——java

Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的...

2018-03-02 15:47:36 284

原创 杭电1232_畅通工程(并查集)——java

Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?  Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;...

2018-03-02 15:02:05 355

原创 Kruskal算法——java

1.Kruskal算法此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 1. 把图中的所有边按代价从小到大排序; 2. 把图中的n个顶点看成独立的n棵树组成的森林; 3. 按权值从小到大选择边,所选的边连接的两个顶点ui,vi,应属于两颗不同的树,则成为最小生成树的一条边,并将这两颗树合并作为一颗树。 4. 重复(3),直到所...

2018-03-02 11:11:28 652 1

原创 图的概念

顶点:图的节点(V)。弧:图的边(E)。无向图G(V,E):图中的边不带方向的指向。有向图G<V,E>:图中的边带方向的指向。完全图:有1 / 2 * n * (n - 1)条边的无向图。有向完全图:有n * (n - 1)条边的有向图。稀疏图:边数小于nlogn。稠密图:反之。权:带权值的边。子图:图G的一部分集合。邻接点:同一条边上的两个点。度:与邻接点相关连的边数。路径:从一个顶...

2018-03-01 15:23:42 372

原创 杭电1513_Palindrome——java(LCS+滚动数组)

Problem DescriptionA palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determin...

2018-03-01 15:05:18 259

原创 杭电1213_How Many Tables——java(并查集)

Problem DescriptionToday is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends...

2018-03-01 14:26:10 381

空空如也

空空如也

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

TA关注的人

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