我已经阅读关于检查与未经检查的exceptionStackOverFlow多个职位。 我老实说还不太清楚如何正确使用它们。 Joshua Bloch在“ Effective Java ”中表示 对于可恢复的条件和运行时exception使用已检查的exception来编程错误(第二版中的第58项) 让我们看看我是否正确理解这一点。 这是我对一个检查的exception的理解: try{ String userInput = //read in user input Long id = Long.parseLong(userInput); }catch(NumberFormatException e){ id = 0; //recover the situation by setting the id to 0 } 1.以上是否考虑检查exception? 2. RuntimeException是一个未经检查的exception吗? 这是我对未经检查的例外的理解: try{ File file = new File("my/file/path"); FileInputStream fis = new FileInputStream(file); }catch(FileNotFoundException e){ //3. […]
您使用.net程序时使用了哪些性能分析器,您会特别推荐哪些性能分析器?
如果你有java.io.InputStream对象,你应该如何处理这个对象并产生一个String ? 假设我有一个包含文本数据的InputStream ,并且我想将其转换为一个String 。 例如,我可以将stream的内容写入日志文件。 采取InputStream并将其转换为String的最简单方法是什么? public String convertStreamToString(InputStream is) { // ??? }
为什么在下面的代码 div的高度大于img的高度? 图片下方有一段空白,但似乎不是填充/边距。 图像下方有多大的间隙? #wrapper { border: 1px solid red; width:200px; } img { width:200px; } <div id="wrapper"> <img src="http://i.imgur.com/RECDV24.jpg" /> </div>
我正在编写一些JavaScript代码来parsing用户input的函数(对于类似电子表格的function)。 parsing了公式之后,我可以将它转换成JavaScript并在其上运行eval()以产生结果。 但是,如果我可以避免使用eval() ,因为它是邪恶的(而且,无论正确还是错误,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会改变由用户)。 那么,什么时候可以使用它?
假设您有一个存储有序树形层次的平坦表格: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 这是一个图表,我们有[id] Name 。 根节点0是虚构的。 [ROOT] / \ [1]节点1 [3]节点2 / \ \ [2]节点1.1 [6]节点1.2 [5]节点2.1 / [4]节点1.1.1 你将使用什么简约的方法将其输出为HTML(或文本)作为正确sorting,正确缩进的树? 进一步假设你只有基本的数据结构(数组和hashmaps),没有父母/孩子引用的奇特对象,没有ORM,没有框架,只有你的两只手。 该表格表示为一个结果集,可以随机访问。 […]
良好的概述 一般来说,您正在快速读取时间(例如,嵌套集)或快速写入时间(邻接列表)之间作出决定。 通常你会得到最适合你需求的选项组合。 以下提供了一些深入阅读: 多一个嵌套间隔与邻接表比较 :我发现的邻接表,物化path,嵌套集和嵌套间隔的最佳比较 。 分级数据的模型 :幻灯片中有很好的权衡解释和示例用法 在MySQL中表示层次结构 :特别是对嵌套集的很好的概述 关系数据库系统中的分层数据 :我所见过的最全面和最有条理的链接集,但对解释的方式并不多 选项 我知道的一般特征: 邻接表 : 列:ID,ParentID 易于实施。 便宜的节点移动,插入和删除。 昂贵的查找水平(可以存储为一个计算列),祖先和后代(桥表与水平列结合可以解决),path(天堂列可以解决)。 在那些支持它们遍历的数据库中使用公用表expression式 。 嵌套集 (又名修改的预定树遍历) 由Joe Celko在许多文章和他的书中的树和层次结构在Smarties中被推广 列:左,右 便宜的水平,祖先,后代 易失性编码 – 移动,插入,删除更昂贵。 需要特定的sorting顺序(例如创build)。 因此,以不同的顺序sorting所有后代需要额外的工作。 嵌套间隔 像嵌套集,但与真正的/浮点数/小数,这样的编码是不稳定的(便宜的移动/插入/删除) 必须处理真正/浮点/小数表示问题 一个更复杂的matrix编码变体增加了祖先编码的好处,就像物化path“自由” 桥表 (又名Closure Table :关于如何使用触发器维护这种方法的一些好主意) 列:祖先,后裔 站在它描述的表格之外。 可以在一个以上的层次中包含一些节点。 廉价的祖先和后代(虽然不是以什么顺序) 对于层次结构的完整知识需要与另一个选项相结合。 平的桌子 邻接列表的修改,为每个logging添加级别和排名(例如sorting)列。 昂贵的移动和删除 廉价的祖先和后代 好用:线程讨论 – 论坛/博客评论 沿袭列 […]
我想在java中分配一组variables,如下所示: int n1,n2,n3; for(int i=1;i<4;i++) { n<i> = 5; } 我怎样才能在Java中实现这一点?
我试图垂直居中我的标签内容,但是当我添加CSS样式display:inline-flex ,水平文本alignment消失。 我怎样才能使我的每个标签的文本alignmentx和y? * { box-sizing:border-box; } #leftFrame { background-color:green; position:absolute; left:0; right:60%; top:0; bottom:0; } #leftFrame #tabs { background-color:red; position:absolute; top:0; left:0; right:0; height:25%; } #leftFrame #tabs div { border:2px solid black; position:static; float:left; width:50%; height:100%; text-align:center; display: inline-flex; align-items: center; } <div id=leftFrame> <div id=tabs> <div>first</div> <div>second</div> </div> </div>
有没有人曾经使用C ++的“新的位置”? 如果是这样,为了什么? 在我看来,它只会在内存映射硬件上有用。