技术,产品,创业,互联网,投资理财,生活感悟

硅谷创业家Eric Rise在其著作 《精益创业》 一书中提出了“精益创业”(Lean Startup)的理念,其核心思想是,开发产品时先做出一个简单的原型——最小化可行产品(Minimum Viable Product, MVP),然后通过测试并收集用户的反馈,快速迭代,不断修正产品,最终适应市场的需求。

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。

volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。

在 Mac 上常用的抓包软件是 Charles,网上关于 Charles 的教程很多,这里介绍另一个抓包神器 mitmproxy。mitmproxy 是一款可交互式的命令行抓包工具,它除了可以抓包查看 http/https 请求,还有一个很强大的功能是拦截并修改 request 或者 response,后面我会用实际例子演示如何修改知乎的回答:)

项目中调用第三方服务异常而引起自己的某块业务没有正常进行,想通过重试调用几次第三方服务来降低出错率

今天就职了新公司。不知不觉间,采用和推荐的仍是在腾讯就职8年间修炼学到的方法论,和同事们也分别聊了许久,一些方法论确实很有帮助,与其简单说说这些方法论,不妨顺便推荐一个和腾讯系紧密相关的书单,供大家参考。

书单中,包含了几本腾讯人自己写的干货。可以自豪地说,在国内原创互联网书籍之中,腾讯系书籍是值得一读的。也包含了几本和腾讯紧密相关的书籍。

百度的过程太残酷,一个一个试。因为要放两个参数,需加以区分(多个参数同理) 方法一不建议使用,调用时打包参数不直观,维护成本高,建议方法二,虽然参数多了不好看,但是见文知意。 方法一: dao部分 注意:xml中使用参数需要严格匹配map 中put的key public void deleteBooks(Map<String, Object> map); map.put(“partnerId”, 12L); map.put(“templist”,list);   方法二: dao部分 注意:利用@param注解时,因为mapper指定了参数名,xml中使用需要严格匹配 public void deleteBooks(@Param(“partnerId“)long partnerId ,@Param(“templist“)List<CPPartnerBookSet> list); xml 部分:方法一,方法二相同 <delete id=”deleteBooks”> delete from cp.tbl_cp_partner_books where partner_id = #{partnerId} and book_id in <foreach collection=”templist” index=”index” item=”item” open=”(” separator=”,” close=”)”> #{item.bookId} </foreach> </delete> 特别强调,如果传值 list ,那么list 不能为空,简单说就是确保list中有对象,即使 list.add(null)测试也能过,而 new ArrayList<?>()会报错,下午恶心到了,左右不过。特地花点时间来记录,以备不时之需。

出现这种问题,首先要看下日志,最后加粗的部分可以知道,问题出在连接池管理上,初步考虑加大maxPoolSize 顺便研究下c3p0的源码