java
文章平均质量分 51
Weiguang_123
这个作者很懒,什么都没留下…
展开
-
poj1001(高精度)
转载自:http://www.cppblog.com/vontroy/archive/2010/05/24/116233.html 先说一下Java对于ACM的一些优点吧: (1) 对于熟悉C/C++的程序员来说Java 并不难学,两周时间基本可以搞定一般的编程,再用些时间了解一下Java库就行了。 Java的语法和C++非常类似,可以说是C++的升级版,只是更加强调面向对象思想而已。转载 2012-03-13 01:01:49 · 749 阅读 · 1 评论 -
教你如何对ios崩溃(crash)日志做符号化
一、场景 客户端的开发流程都相似,如android,搞ios开发就要不停地发版本,随之而来的就是各种版本的崩溃日志(称为crash log)。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。解决崩溃问题是移动应用开发者最日常的工作之一。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。 国内,一原创 2016-02-23 20:28:43 · 23261 阅读 · 1 评论 -
ios的crash分析工具
最近搞ios的crash log的分析,总结一下:搞iPhone开发就要不停地发版本,随之而来的就是各种版本的crash log。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。作为后台平台的开发,时刻为客户端着想,操醉了心的。MAC上有个免费的小工具——dwarfdump,可以简便地检测出app和相应的dSYM。使用起来很简单。分三步即可。原创 2015-11-22 17:27:18 · 1279 阅读 · 0 评论 -
java 基础整理
1.线程和进程的关系:进程是独立的运行环境,可以看作一个程序或应用,线程可以看作进程中的一个任务,几个进程可以同时有多个线程在运行,线程可以被称为轻量级进程,线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2.多线程编程的好处:多线程并发可以提高程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态,servlet通过多线程方式运行其service方法,一个实例原创 2015-06-21 20:53:53 · 882 阅读 · 0 评论 -
线上事故处理总结
1、线上有些机器cpu idle(cpu空闲时间)和load avg(系统负载)报警;这个跟业务逻辑还不太一样,如果业务逻辑错误还可以看 error日志,看看zabbix上监控的上游服务时间相应等等 sinai一次线上问题排查总结 > image2015-8-5 23:49:56.png" src="http://wiki.sankuai.com/download/attachment原创 2015-08-06 23:51:59 · 2853 阅读 · 0 评论 -
面试经验
1.常用的哈希算法,怎么解决冲突?好坏?2.java中,hashMap的数据结构?怎么实现?为什么要这么实现?java中concurrentHashMap数据结构?怎么支持并发?put()、get()、remove()实现?怎么利用锁机制?3.四层网路机构?tcp/Ipx协议?tcp和udp的区别?tcp三次握手四次分手的过程?以及各个状态?其中time_w原创 2015-07-10 00:29:49 · 943 阅读 · 0 评论 -
java 锁机制
死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。线程以向第一个对象获取封锁这种方式运行。但是当它试着像第二个对象获取封锁时,它就会进入等待状态,因为它已经被另一个线程封锁住了。这样,在线程引起死锁的过程中,就形成了一个依赖于资源的循环。为了分析一个死锁,关注下应用中的Java线程转存,可以使用VisualVM收集资料或者jstack原创 2015-06-22 02:55:18 · 702 阅读 · 0 评论 -
从一次 FULL GC 卡顿谈对服务的影响
问题的发现:看到线上的服务机器一些节点时不时地有TCP报警 ,所以我们断定是TCP的连接出现了问题。让我们来回顾一下TCP的三次握手和四次挥手,借网上的一个图: sinai full gc with promotion failed > image2015-9-16 22:15:46.png" height="250" src="http://wiki.sa原创 2015-09-19 18:58:35 · 11737 阅读 · 6 评论 -
java HashMap以及concurrenHashMap
1、hash必须解决哈希冲突和溢出问题2、开放定值法:散列表中形成一个探查(测)序列 线性探测:溢出、删除、堆聚 线性补偿再探测 随机探测3、拉链法:key为同义词的节点放在单连表中,散列表是指针数组,存的是链表的头指针。key的hashCode值某些运算(hash值离散化表取摸),然后计算出key在Entry数组中的下标。hash用来均匀化一原创 2015-07-07 02:27:26 · 2201 阅读 · 0 评论 -
Java HashMap 设计原理
HashMap 是Java使用非常频繁的一个类,由于最近比较清闲,特地翻看一下源码。下面为自己的个人体会,其中部分地方参考了网上的一些文章。 1.HashMap的存储特点。 既然叫HashMap,那么它就具有哈希表的一些特点:(1)需要哈希方法,把关键字映射到哈希表中(2)需要解决哈希冲突问题,即不同的关键字映射到同一个哈希地址上。这里先说哈希冲突的解决问题。(该图来源原创 2015-06-21 21:00:52 · 716 阅读 · 0 评论 -
hashmap 和 concurrentHashMap
通过Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的hash table,它们有自己的锁。只要多个原创 2015-06-21 22:58:56 · 597 阅读 · 0 评论 -
poj 2756(java的skip函数保证输入数字)
skip函数Source CodeProblem: 2756 User: 1013101127 Memory: 5628K Time: 594MS Language: Java Result: Accepted Source Code import java.io.*;import java.util.*;import java.math.*; p原创 2012-08-05 16:40:27 · 1063 阅读 · 0 评论 -
关于服务性能优化思考
一、服务指标1.应用性能指标 QPS/QPM Response Meantime TP 90/95/992.机器性能指标1)内存和线程指标JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信息等等。各种JDK自带的剖析工具,包括jps原创 2017-03-06 23:58:35 · 5482 阅读 · 1 评论