java
文章平均质量分 57
田小江爱分享
程序媛,程序汪。目标是做一个有项目管理经验的技术专家。
展开
-
arthas使用小技巧
4、线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法复现!1、这个类从哪个jar包加载的?为什么会报各种类相关的Exception?2、我改的代码为什么没有执行到?难道是我没有commit?3、遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?5、有什么办法可以监控到JVM的实时运行状态?5、是否有一个全局视角来查看系统的运行状况?6、怎么快速定位应用的热点,生成火焰图?原创 2019-07-01 11:36:58 · 64 阅读 · 0 评论 -
“HTTP/1.1 405 Method not allowed”问题和java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet问题
今天想再玩一下servlet,不用任何框架。我是用IDEA直接导入的jar文件,新建一个HelloServlet继承HttpServlet。问题一:在启动tomcat的时候,报错:java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest 可以确定是有jar包的,不然就会找不到HttpServlet,这个H...原创 2018-12-11 21:12:51 · 8066 阅读 · 0 评论 -
Spring学习--IOC依赖注入
最近在玩SpringBoot,因为要做分享,所以拿出Spring去做个对比,才能感受到使用SpringBoot的简单和快速性。一.Spring定义Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用与企业应用。Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架。--从大小与开销方面看来,Spring都是轻量级的;--通...原创 2018-12-16 21:16:34 · 123 阅读 · 0 评论 -
重写,重载,继承常问的问题
今天聊到一个重写,重载,继承的问题,回来敲了一下,确认我一直回答是正确的,记录一下防止误解。问题一:父类有一个方法,子类重写了父类的方法。然后在调用的时候,Animal animal = new Dog(); 在用animal调用这个重写的方法,调用的是子类还是父类的方法?答:子类。因为子类已经重写了父类的方法,new出来的对象是dog子类,所以应该是子类方法。问题二:...原创 2019-01-02 19:01:46 · 186 阅读 · 0 评论 -
每日一道Leetcode算法—— Unique Morse Code Words——2019.01.17
中文:国际莫尔斯电码定义了一种标准编码,其中每个字母映射到一系列点和短划线,如下所示:“a”映射到“.-”,“b”映射到“-...”,“c”映射到“-。-。“, 等等。为方便起见,下面给出了英文字母26个字母的完整表格:[".-","-...","-.-.","-..",".","..-.","--.","....",".原创 2019-01-18 12:00:11 · 204 阅读 · 0 评论 -
每日一道Leetcode算法——Fair Candy Swap——2019.02.03
题干:中文:Alice和Bob有不同大小的糖果棒:A [i]是Alice拥有的第i个糖果棒的大小,B [j]是Bob拥有的第j个糖果棒的大小。由于他们是朋友,他们想交换一个糖果,以便交换后,他们都有相同的糖果总量。 (一个人拥有的糖果总量是他们拥有的糖果大小的总和。)返回一个整数数组ans,其中ans [0]是Alice必须交换的直板的大小,ans [1]是Bob必须交换的直板的大小。...原创 2019-02-14 15:35:34 · 250 阅读 · 1 评论 -
每日一道Leetcode算法——Sort Array By Parity——2019.01.31
中文:给定一个非负整数数组A,返回一个由A的所有偶数元素组成的数组,后跟A的所有奇数元素。 您可以返回满足此条件的任何答案数组。 Example 1:Input: [3,1,2,4]Output: [2,4,3,1]The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.Note:...原创 2019-01-30 16:00:39 · 134 阅读 · 0 评论 -
每日一道Leetcode算法——Path Sum——2019.01.13
中文:给定二叉树和求和,确定树是否具有根到叶路径,使得沿路径的所有值相加等于给定的总和。注意:叶子是没有子节点的节点。例:鉴于以下二叉树和sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \7 2 1返回true,因为存在根到叶路径5-> 4-> 11...原创 2019-01-29 17:09:56 · 289 阅读 · 0 评论 -
java之反射Reflect
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息,以及动态调用对象方法的功能称为java语言的反射机制。1.Class类的使用(1)java中普通的数据类型类和静态的成员不属于对象。(2)类也是对象,是java.lang.Class类的实例对象。(3)Class类本身是无法new自身的...原创 2019-01-14 12:17:46 · 147 阅读 · 0 评论 -
二进制
1.适合计算机的进制二进制:计算机内部用二进制:运算简单,简化了计算机结构其他进制:八进制:适用于12位和36位计算机系统 标志的开头用0表示,用0~7的数字表示。16进制:用0~9,A,B,C,D,E,F 表示表达长度短,变得更常用。标志的开头用0x表示。2.二进制位运算运算符 运算 示例 &a...原创 2019-01-18 17:29:18 · 787 阅读 · 0 评论 -
Java 8 数据流Stream的使用
一.Java里面对Stream的定义:A sequence of elements supporting sequential and parallel aggregate operations.支持顺序和集合并行操作的一系列元素。(1)Stream是元素的集合,类似于Iterator,单向,不可往复,数据只能遍历一次,遍历过一次数据即用尽了(2)Stream 可以并行化操作,迭代...原创 2018-05-27 11:46:05 · 3004 阅读 · 0 评论 -
Intellij IDEA ,按Ctrl+左键,不能进入类或方法,提示Cannot find declaration to go to。
一.Intellij IDEA ,按Ctrl+左键,不能进入类或方法,提示Cannot find declaration to go to。1.第一种方法:这个是由于打开项目的方式不对,应该是import项目而不是直接open项目。 例如我的项目是sbt项目,我直接open的项目,发现这样子Ctrl+鼠标左键是不能实现跳转的,也无法直接点进去看源码。就应该import项目。 但是我imp...原创 2018-05-25 17:14:10 · 144475 阅读 · 46 评论 -
IDEA安装sbt插件,导入sbt项目
一.导入Sbt项目:导入sbt项目一定要下载sbt插件,否则导入进去的项目整个项目会有问题。下载sbt插件方法是:(1)进入Preference(mac下快捷键是command+,),选择Plugins,页面如下图:(2)选择Install JetBrains plugin,然后输入sbt,安装scala。如图所示,没安装的情况下按钮是install。(3)安装完成后,重启一下IDEA。点击Fi...原创 2018-04-24 22:18:15 · 14394 阅读 · 0 评论 -
IntelliJ IDEA下载,安装,使用
一 . IntelliJ IDEA下载 1 . 下载地址: https://www.jetbrains.com/idea/ 进入如下页面: 2 . 点击download按钮后,跳转到页面: 可以看到是支持Windows,macOS,...原创 2018-03-27 16:14:20 · 516 阅读 · 0 评论 -
Web开发常见安全问题
Web开发常见安全有以下三种:SQL注入,XSS漏洞,CSRF攻击。目前我在工作中经历印象最深刻的是SQL注入,例如登录页面,如果我们在输入框输入x&1=1,会不会直接登录成功呢?...原创 2018-03-20 19:24:33 · 230 阅读 · 0 评论 -
java笔试题
1.public class Test1 { public static void main(String[] args) { int x = 5; boolean b1 = true; boolean b2 = false; if ((x == 4) && !b2) { System.out.println("1"); } System.out.p...原创 2018-03-20 10:07:58 · 348 阅读 · 0 评论 -
java写的微信红包算法--田小江
写了一个微信红包的算法,记录一下,后续争取再优化一下,大佬们也帮忙看一下。import java.util.HashMap;import java.util.Map;public class WXTRedPackage { public static void main(String[] args) { WXTRedPackage wx = new WXTRedPackage(); ...原创 2018-03-16 21:56:51 · 609 阅读 · 0 评论 -
java集合
常用集合:ArrayList:LinkedList:HashMap:HashTable: 1.retainAll方法: 两个集合求交集,只保留交集数据原创 2018-03-15 18:50:27 · 105 阅读 · 0 评论 -
业务层错误码处理
最近在做两件事,一件是整体梳理我这边业务层的错误码,方便通过错误码立刻确定相应模块。同时以前是直接返回给前台相应的英文提示之类的错误,用户不方便理解,增加用户体验;第二件是接入我们的告警系统和平台,在主流程发生异常时,微信或者电话告警。一.错误码优化有关:(1)创建一个错误码的枚举类,方便查看和统一管理。package exception;public enum ExceptionEnum {...原创 2018-06-25 19:02:53 · 1997 阅读 · 0 评论 -
java数组
今天有朋友问我她们代码里定义了个Student s[] = new Student[10].但是她希望这个数组不限制长度,要如何做?处理办法如下:List<Student> studentList = new ArrayList<Student>;然后使用这个studentList塞值;最后Student s[] = studentList.toArray(new Stud...原创 2018-07-06 17:22:41 · 213 阅读 · 0 评论 -
get和post转发接口开发
1.前端想做一个功能,填写表单后,给企业微信传微信群名称以及用户列表,直接拉起一个群组。我这边帮忙做一个转发。 /** *GET工具接口 **/ public Result TranferGet(String url) { try { url = java.net.URLDecoder.decode(url, "UTF-8"); } catc...原创 2018-08-13 14:15:14 · 4728 阅读 · 0 评论 -
JAVA--Servlet总结
一.什么是Servlet?Jsp的前身就是Servlet。Servlet是在服务器上运行的小程序,一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问这个驻留在服务器内存里的Servlet程序。二.Tomcat容器 Tomcat容器分为四个等级,Servlet容器管理Context容器,一个Context对应一个Web工程。三.Servlet执行...原创 2018-12-13 18:33:42 · 163 阅读 · 0 评论 -
Springboot(二)-----Springboot整合mybatis
在上一个Springboot(一)-----Springboot入门(各种常见问题解决)的基础上,继续。1.修改pom.xml文件增加数据库配置和mybatis配置。完整的pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0...原创 2018-12-04 20:19:32 · 181 阅读 · 0 评论 -
Jacoco单元测试配置和使用
最近项目在重构。对未来的规划就是测试驱动开发。先写单元测试,再开发代码。以单元测试的结果来判断代码实现的可用性。因为大批量的补充之前的代码的单元测试,是一件产出大于收入的事情。所以目前是在日常的需求周迭代中,补充了每次改动部分的单元测试。为了客观展示单元测试补充情况,决定接入jacoco展示覆盖情况。一.自己用maven搭建了一个springboot项目见之前的博客:htt...原创 2018-11-15 16:12:25 · 6542 阅读 · 0 评论 -
Springboot(一)-----Springboot入门(各种常见问题解决)
本身搭建springboot项目是一个很easy的事,但亲手搭建的时候,踩了很多坑,记录一下。一.构建一个springboot的maven项目。访问Spring 的网址https://start.spring.io/填写Artifact为项目名称。二.确定本地的maven配置是好的。打开命令行。输入mvn -v。如果显示出maven 的版本号等信息,就是成功了。...原创 2018-11-02 18:25:23 · 394 阅读 · 0 评论 -
java--多态
多态一直在用。但最近有一些比较恶心的需求,接口拿到的数据格式和以往完全不一样,然后就一层一层的拆开,在重新组装成我们需要的数据。发现有时候java的强类型特征,让人略不爽。深深意识到使用好泛型,多态的重要性。正文分割线 多态:对象的多种形态 (1)引用多态 父类的引用可以指向本类的对象;Animal animal = new Animal(); ...原创 2018-10-23 20:52:56 · 139 阅读 · 0 评论 -
Static和final关键字解析
Static和final关键字解析原创 2018-09-05 11:06:58 · 175 阅读 · 0 评论 -
有关重构项目的一些小经验
最近开始重构,发现重构真的是即恶心又爽的一件事。不断的发现问题,解决问题。个人觉得后端重构要注意以下的几个点:最重要的一点:新启一套接口和方法去重构,同时保证两套系统的可用性。1.定义和前端协议参数的时候,名称,参数类型一定要统一,并列成一个表格放在公司wiki上。(1)类似我们原有代码,对于定义定向id,有的叫targetingId,有的叫mid。可理解性差。不同get接口应该传的...原创 2018-08-31 16:32:45 · 4137 阅读 · 0 评论 -
Git使用
最近前端同学和我们做了前后端分离。然后把项目从SVN迁移到了Git。然后简单整理了这份Git使用文档。先注册一个Github的账号。一.Mac下Git下载安装:打开终端然后输入:brew install git1.Git 常用命令:(1)从git克隆项目到本地(类似svn checkout):git clone https://github.com/tianjinji...原创 2018-08-28 20:41:58 · 142 阅读 · 0 评论