业务背景 首先,业务需求是这样的,从第三方电商平台拉取所有订单,然后保存到公司自己的数据库,需要判断是否有物流信息,如果有物流信息,还需要再进行上传. 而第三方接口返回的数据是 JSON 格式的,其中物流信息却藏的十分深,如下面所示,JSON 节点是这样的: xxxOrder > xxxShippingInfo > xxxShipmentDetails > xxxTrackingInfo > trackingNumber, trackingLink 基本实现 因为第三方接口返回的数…
业务背景 首先,业务需求是这样的,从第三方电商平台拉取所有订单,然后保存到公司自己的数据库,需要判断是否有物流信息,如果有物流信息,还需要再进行上传. 而第三方接口返回的数据是 JSON 格式的,其中物流信息却藏的十分深,如下面所示,JSON 节点是这样的: 基本实现 因为第三方接口返回的数据是 JSON 格式的,所以需要把 JSON 字符串转换成 Java 对象来进行处理. 基本实现 因为第三方接口返回的数据是 JSON 格式的,所以需要把 JSON 字符串转换成 Java 对象来进行处理.…
手写HashMap?这么狠,面试都卷到这种程度了? 第一次见到这个面试题,是在某个不方便透露姓名的Offer收割机大佬的文章: 这--我当时就麻了,我们都知道HashMap的数据结构是数组+链表+红黑树,这是要手撕红黑树的节奏吗? 后来,整理了一些面经,发现这道题在快手的面试出现还比较频繁,分析这道题应该在快手的面试题库.那既然频繁出,肯定不能是手撕红黑树--我觉得面试官也多半撕不出来,不撕红黑树,那这道题还有点救,慢慢往下看. 认识哈希表 HashMap其实是数据结构中的哈希表在Java里的实…
java 学习写架构必会几大技术点 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注解 6. 设计模式 7. 代理机制(aop) 8. serlvet基础(过滤器等等) 几样比较实用的技术: 1. 模板语言freemarker 2. ognl 3. gson json工具类 大家对于几大框架望而生畏,实际上只要明白他的原理,就会触类旁通,在这里我说说自己的几点拙见! MVC层(S…
首先说一下什么是纯函数式.在我的理解,"纯函数式"用一句话就可以描述:Anything is value.--我的理解不一定准确,但我就是这么理解的. 就是所有的东西都是值--没有变量:包括函数在内都是值--是值,就可以传递(包括函数). 为什么说这段程序是奇葩呢? 其一.传统的Java是面向对象的,自从Java8中加入了lambda,Java就变成了"面向对象"和"函数式"两种方式的混合语言.这段程序全部使用lambda的语法来写,与平常写的J…
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码.下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧. IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"…
java nio 写一个完整的http服务器  支持文件上传   chunk传输    gzip 压缩      也仿照着 netty处理了NIO的空轮询BUG        本项目并不复杂 代码不多 我没有采用过多的设计模式    和套娃   使其看着比较简单易懂    起因: 想自己写一个web服务器  不使用tomcat 有时候想轻量级一点   代码量很少 成果: 现在已经支持文件上传下载,分块传输协议  gzip压缩  使用过程和java Servlet差不多 我封装两个对象 一个Htt…
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra. 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉满了.五花八门的代码让我不禁感叹,代码规范这条道路还是任重而道远- 那么今天就来给大家总结一波Java中的代码作死小技巧,熟练掌握这些小技巧后,保证能让你写出同事看不懂的代码~ 至于为啥要写出同事看不懂的代码,通过这次教训,我发现好处还是挺多的,简单举几个例子: 同事无法轻易修改你的代码,避免团队协作不当引入bug 塑…
徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 徒手用Java来写个Web服务器和框架吧<第二章:Request和Response> 这一章先把Web框架的功能说一些,有个雏形. 先是制作一个Service,并绑定到一个正则地址.用到了注解和反射. 项目地址: Telemarketer Service的定义 Telemarketer的Service是一个服务.请求了跟它关联的地址,那就由它来为你服务. 它对外只需一个方法.并且对这个方法的要求大概只有输入一个Reque…
徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 接上一篇,说到接受了请求,接下来就是解析请求构建Request对象,以及创建Response对象返回. 多有纰漏还请指出.省略了很多生产用的服务器需要处理的过程,仅供参考.可能在不断的完善中修改文章内容. 先上图  // 2015年09月30日 更新请求的解析部分 项目地址: https://github.com/csdbianhua/Telemarketer 首先看看如何解析请求 解析请求 构建Request对象 这部分对应代码在…
在上一篇博客[教你如何使用Java手写一个基于数组的队列]中已经介绍了队列,以及Java语言中对队列的实现,对队列不是很了解的可以我上一篇文章.那么,现在就直接进入主题吧. 这篇博客主要讲解的是如何使用单链表实现一个简单版的队列.单向链表队列是属于非循环队列,同时队列的长度是不受限制的,也就是说添加数据的速度比拉取数据的速度快时,队列的长度是无限增长的.单链队列其本质就是一个链表,只不过是在获取或添加数据的时候跟普通的链表有所区别,队列在获取数据的同时也将该节点删除,并且每次获取数据都是从表头获…
使用 Java 程序往磁盘写文件时碰到了这样的问题:文件写不全. 假如内容(StringBuffer/StringBuilder)有 100W 个字符,但是通过 Java 程序写到文件里的却不到 100W ,部分字符不见了. 代码大致是这样的: private void writeToDisk() throws Exception { File file = new File("FILE_PATH"); OutputStreamWriter osw = null; osw = new…
Java 覆写 继承性的主要特征是子类可以根据父类已有的功能进行功能扩展,但是在子类定义属性或方法的时候有可能定义属性和方法和父类同名,在此类情况下就称为:“覆写”. 方法的覆写:[改良原本功能不足的方法] 子类定义的方法与父类方法名称相同.参数的类型及个数.返回值相同的方法. class A { public void fun() { System.out.println("A.fun()方法") ; } } class B extends A { public void fun()…
请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框.程序可以判断出用 户点击的是“确认”还是“取消”. 解答: <HTML> <HEAD> <TITLE>click</TITLE> <Script > function validateForm() { if(confirm(“你确认提交这个表单么?”)) { alert(“确定”); }else{ alert(“取消”); } } </Script> <…
    首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 - 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - iOS - Python - Android - Web前端     Java开发者写SQL时常犯的10个错误 2015/03/10 | 分类: 基础技术 | 0 条评论 | 标签: SQL 分享到:0 本文由 ImportNew - zer0Black 翻译自 jooq.欢迎加入翻译小组.转载请见文末要求…
互联网一线工程师程序代写 微信联系 当天完成 查看大牛简介特色: 学霸代写,按时交付,保证原创,7*24在线服务,可加急.用心代写/辅导/帮助客户CS作业. 客户反馈与评价 服务质量:保证honor code,代码原创.参考课程slide与笔记,不使用超纲代码.有test的必全过,有得分requirements的必全做.Bonus部分尽最大努力完成.我们也可以远程代写辅导,一步一步教你怎么做. Honor Code: 可以看下面我们团队的背景介绍,都是一线大公司的码农,高端码农并不屑copy别人…
java 手写 jvm高性能缓存,键值对存储,队列存储,存储超时设置 缓存接口 package com.ws.commons.cache; import java.util.function.Function; public interface ICache { void expire(String key, int timeOutSecond); void leftPush(String key, Object value); void rightPush(String key, Object…
多级缓存实现类,时间有限,该类未抽取接口,目前只支持两级缓存:JVM缓存(实现 请查看上一篇:java 手写JVM高性能缓存).redis缓存(在spring 的 redisTemplate 基础实现) package com.ws.commons.cache; import java.util.function.Supplier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ws.commons.too…
问题: 在tomcat日志信息中出现:java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003$$ 无法通过 128 (在表空间 HRDL_CSASS 中) 扩展 原因: 数据库表空间不足 解决办法: 1.查看表空间的名字及文件在哪 select tablespace_name, file_id, file_name, ),) total_space from dba_data_files…
解题: 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码[123和12345]那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出的电话号码[指定传入参数类型如示例所示] 函数参数示例: public void function(int [] numbers){} package JingDian; public class Pnumber { public static void main(String[] args){ i…
在Spring Boot应用启动之后立刻执行一段逻辑 1.CommandLineRunner 2.ApplicationRunner 3.传递参数 码农小胖哥:如何在Spring Boot应用启动之后立刻执行一段逻辑 项目启动后立马执行一些逻辑.比如简单的缓存预热,或者上线后的广播之类等等.如果你使用 Spring Boot 框架的话就可以借助其提供的接口CommandLineRunner和 ApplicationRunner来实现. 1.CommandLineRunner org.spring…
目录 前言 1.理解开源 1.1.什么是开源? 1.2.开源的定义 1.2.1.开源软件优点 1.2.2.经典开源软件案例 1.3.关于开源协议 1.3.1.如何选择开源协议 2.如何查找开源项目 2.1.一个仓库项目的基本解析 2.2.关于开源项目高级搜索 2.3.根据仓库标题.描述搜索 2.4.按照地区和语言进行搜索 2.5.根据仓库属性条件搜索 2.6.根据个人或某组织进行搜索 2.7.根据仓库的LICENSE搜索 2.8.热门 3.开源项目解析 3.1.查找相关开源项目 3.1.1.开源…
原文链接: 我写的 Python 代码,同事都说好 人生苦短,我用 Python. 程序员的追求就是不写代码,早日财务自由.不对,一不小心把实话说出来了,应该是将代码写得简洁,优雅. Python 程序员的追求则是 Pythonic,正好在 Python 这门语言中,「隐藏」了特别多方法,可以使代码变得简洁,优雅,与众不同. 我在这里总结了一些常用操作,特别是关于列表和字典,分享给大家. 第一个字母大写 这个方法有点意思,无意中发现的. >>> s = "programming…
Java 飞机小游戏 报错 看不懂求救 at java.awt.Component.dispatchEvent(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)at java.awt.EventQueue.access$500(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.awt.EventQueue3.run(Un…
Java抽象类和接口的区别(好长时间没看这种文章了) abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领…
如何使用 js 写一个正常人看不懂的无聊代码 代码质量, 代码可读性, 代码可维护性, clean code WAT js WTF https://www.destroyallsoftware.com/talks/wat https://github.com/garybernhardt console 正常写法 const log = console.log; log(`nb`); // nb 黑科技写法 const log = console.log; log(([][[]]+[])[+!![…
本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的.本文将不定期更新~ 零.指导原则 优先保证可读性,不要过分追求代码艺术和效率 在可读性和代码效率方面,请选择可读性.为了可读性我宁可多建立一个对象,或者是多写一个方法.当然,如果这段代码是执行频次很高的代码,那么请在编码后再进行优化. 追求模块化和开闭原则 一个类里可以写多个方法,但不要为了调用方便而肆意定义全局变量.宁可多些几个方法的参数也不要随便定义全局变量.定义全局变量首先会让…
1. 前言 单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——基本上每个开发者都能够随手写出——但是,真的是这样吗? 作为一个Java开发者,也许你觉得自己对单例模式的了解已经足够多了.我并不想危言耸听说一定还有你不知道的——毕竟我自己的了解也的确有限,但究竟你自己了解的程度到底怎样呢?往下看,我们一起来聊聊看~ 2. 什么是单例? 单例对象的类必须保证只有一个实例存在——这是维基百科上对单例的定义,这也可以作为对意图实现单例模式的代码进行检验的标准. 对单…
最近在写一个大量小文件直接压缩到一个zip的需求,由于zip中的entry每一个都是独立的,不需要追加写入,也就是一个entry文件,写一个内容, 因此直接使用了多线程来处理,结果就翻车了,代码给出了如下的错误:write beyond end of stream! 下面直接还原当时的代码场景: 1 public class MultiThreadWriteZipFile { 2 3 private static ExecutorService executorService = Executo…
OutputStream 和 Writer OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStream的层次结构: ByteArrayOutputStream:字节数组流,可以捕获内存缓冲区的数据,转换为字节数组.该类有两个构造方法: new ByteArrayOutputStream(); new ByteArrayOutputStream(int size);    //size表示初始化字节数组缓冲区的大小 B…