精华内容
下载资源
问答
  • 今天进行了SpringMVC接收json数据封装到类中的学习,本文章为作者作为初学者的一点问题的解决办法,望大神们不要见笑。 封装的JavaBean:User,并设置set和get方法 public class User implements Serializable { ...

    今天进行了SpringMVC接收json数据封装到类中的学习,本文章为作者作为初学者的一点问题的解决办法,望大神们不要见笑。

    封装的JavaBean:User,并设置set和get方法

    public class User implements Serializable {
        private String name;
        private String password;
        private Integer age;

    为了节约篇幅,只复制了属性。

    用来接收并封装json的方法:

    @RequestMapping("/testString")
        public String testString(Model model){
            System.out.println("testString方法被执行。。。");
            User user=new User("张三","123",21);
            model.addAttribute("user",user);
            return "success";
        }

    问题出现:当ajax向服务器传json时,服务器接收不到,并且idea并未报异常,方法为执行。经查证排查发现,因设置User的有参构造,并且也没有提供无参构造。所有封装失败。

    解决办法:删除有参构造或者提供一个无参构造。

    注:在SpringMVC中使用json需要导入jackson的jar包

    展开全文
  • 面向对象案例.zip

    2020-03-30 19:17:30
    python的pickle实战代码 pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议。 “Pickling”是将Python对象层次结构转换为字节流的过程, ...pickle模块对于错误或恶意构造的数据是不安全的。
  • 线程锁错误案例

    2019-09-12 15:14:12
    在使用线程锁的时候对于一些不可变对象诸如String Integer等等可能会出现一些问题诸如下面代码: public class ThreadSync implements Runnable{ static ThreadSync sync = new ThreadSync();...

    在使用线程锁的时候对于一些不可变对象诸如String Integer等等可能会出现一些问题诸如下面代码:

    public class ThreadSync implements Runnable{
        static ThreadSync sync = new ThreadSync();
        static  Integer j=0;
    
        public  void inscane(){
            for(int i=0;i<10000000;i++){
                synchronized (j){
                    j++;
                }
            }
        }
    
        @Override
        public void run() {
            inscane();
        }
    
        public static void main(String[] args) throws InterruptedException {
            Thread t1 = new Thread(sync);
            Thread t2 = new Thread(sync);
            t1.start();
            t2.start();
            t1.join();
            t2.join();
            System.out.println(j);
        }
    }

    上面代码执行出来的结果存在线程安全的;

    1、由于Integer是不可变对象,当执行j++的时候实际上是生成了一个新的对象。此时由于synchronized (j);锁定的是不同的对象,所以拿到的不是同一把锁会出现安全问题。

    解决方式:

    1、把synchronized提升到方法级别。

    2、改成synchronized (ThreadSync.class)

    3、把Inetegr换成int

    初次之外上面写法效率并不高,应该把synchronized 拿到for循环之外

    转载于:https://my.oschina.net/u/580135/blog/612359

    展开全文
  • Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法。都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的...
  • java错误代码典型案例 该页面包含在与我一起工作的人的Java代码中看到的最典型的错误。 静态分析(出于明显的原因,我们使用查询无法捕获所有错误,这就是为什么我决定在此处列出所有错误的原因。 如果您要在此处...

    java错误代码典型案例

    该页面包含在与我一起工作的人的Java代码中看到的最典型的错误。 静态分析(出于明显的原因,我们使用查询无法捕获所有错误,这就是为什么我决定在此处列出所有错误的原因。

    如果您要在此处添加其他内容,请告诉我,我们将竭诚为您服务。

    列出的所有错误一般都与面向对象的编程有关,特别是与Java有关。

    类名

    阅读这段简短的“什么是对象?” 文章。 您的班级应该是没有“验证者”,“控制器”,“经理”等的现实生活实体的抽象。如果您的班级名称以“ -er”结尾,那么这是一个错误的设计

    而且,当然,公用事业类是反模式,如StringUtilsFileUtils ,并IOUtils来自Apache的。 以上是糟糕设计的完美示例。 阅读此后续文章: 实用程序类的OOP替代

    当然,切勿添加后缀或前缀来区分接口和类 例如,所有这些名称都非常错误: IRecordIfaceEmployeeRecordInterface 通常,接口名称是真实实体的名称,而类名称应说明其实现细节。 如果没有关于实现的特定说明,请将其命名为Default, Simple或类似名称。 例如:

    class SimpleUser implements User {};
    class DefaultRecord implements Record {};
    class Suffixed implements Name {};
    class Validated implements Content {};

    方法名称

    方法可以返回值,也可以返回void 如果一个方法返回了一些东西,那么它的名称应该说明它返回的内容 ,例如(永远不要使用get前缀):

    boolean isValid(String name);
    String content();
    int ageOf(File file);

    如果返回void,则其名称应说明其作用 例如:

    void save(File file);
    void process(Work work);
    void append(File file, String line);

    刚才提到的规则只有一个例外-JUnit的测试方法。 它们在下面解释。

    测试方法名称

    JUnit测试中的方法名称应创建为不带空格的英语句子。 通过示例更容易解释:

    /**
     * HttpRequest can return its content in Unicode.
     * @throws Exception If test fails
     */
    public void returnsItsContentInUnicode() throws Exception {
    }

    在JavaDoc的第一句中以要测试的类的名称开头,然后是can这一点很重要。 因此,您的第一句话应始终类似于“某人可以做某事”。

    方法名称将声明完全相同,但没有主题。 如果在方法名称的开头添加一个主题,则应该得到完整的英语句子,如上例所示:“ HttpRequest以unicode返回其内容”。

    注意测试方法不是以can开头的,只有JavaDoc注释以can开头。 此外,方法名称不应以动词开头。

    始终将测试方法声明为throwing Exception是一个好习惯。

    变量名

    避免使用变量的复合名称,例如timeOfDayfirstItemhttpRequest 我的意思是:类变量和方法内变量。 变量名应足够长,以免在可见性范围内产生歧义,但如果可能,则不要太长。 名称应为单数或复数形式的名词,或适当的缩写。 例如:

    List<String> names;
    void sendThroughProxy(File file, Protocol proto);
    private File content;
    public HttpRequest request;

    有时,如果构造函数将传入数据保存在实例化的对象中,则构造函数参数和类内属性之间可能会发生冲突。 在这种情况下,我建议通过删除元音来创建缩写(请参阅USPS如何缩写街道名称 )。

    另一个例子:

    public class Message {
      private String recipient;
      public Message(String rcpt) {
        this.recipient = rcpt;
      }
    }

    在许多情况下,可以通过读取变量的类名来确定变量名称的最佳提示。 只需写一个小写字母,就可以了:

    File file;
    User user;
    Branch branch;

    但是, 永远不要对原始类型(例如Integer numberString string

    当存在多个具有不同特征的变量时,也可以使用形容词。 例如:

    String contact(String left, String right);

    建设者

    没有例外,应该只有一个构造函数将数据存储在对象变量中。 所有其他构造函数都应使用不同的参数来调用此函数。 例如:

    public class Server {
      private String address;
      public Server(String uri) {
        this.address = uri;
      }
      public Server(URI uri) {
        this(uri.toString());
      }
    }

    一次性变量

    不惜一切代价避免一次性变量。 “一次性”是指仅使用一次的变量。 像这个例子:

    String name = "data.txt";
    return new File(name);

    上面的变量仅使用一次,代码应重构为:

    return new File("data.txt");

    有时,在极少数情况下(主要是由于格式更好),可以使用一次性变量。 但是,请尽一切可能避免这种情况。

    例外情况

    不用说,您永远不要吞下异常,而应让它们冒出尽可能多的泡沫。 私有方法应始终允许检查的异常消失。

    切勿将异常用于流量控制。 例如,此代码是错误的:

    int size;
    try {
      size = this.fileSize();
    } catch (IOException ex) {
      size = 0;
    }

    说真的,如果那个IOException提示“磁盘已满”怎么办? 您是否仍将假定文件的大小为零并继续前进?

    缩进

    对于缩进,主要规则是括号应在行的结尾或在同一行上闭合(反向规则适用于闭合括号)。 例如,以下内容是不正确的,因为第一个方括号未在同一行上闭合并且其后有符号。 第二个支架也有麻烦,因为它前面有符号并且没有在同一行上打开:

    final File file = new File(directory,
      "file.txt");

    正确的缩进应如下所示:

    StringUtils.join(
      Arrays.asList(
        "first line",
        "second line",
        StringUtils.join(
          Arrays.asList("a", "b")
        )
      ),
      "separator"
    );

    缩进的第二个重要原则是,您应将一行尽可能多地放在一行中-不得超过80个字符。 上面的示例无效,因为可以对其进行压缩:

    StringUtils.join(
      Arrays.asList(
        "first line", "second line",
        StringUtils.join(Arrays.asList("a", "b"))
      ),
      "separator"
    );

    冗余常数

    当您想在类方法之间共享信息时,应使用类常量,并且此信息是您的类的特征(!)。 不要使用常量来替换字符串或数字文字,这是非常糟糕的做法,会导致代码污染。 常量(与OOP中的任何对象一样)在现实世界中应该具有含义。 这些常量在现实世界中具有什么含义:

    class Document {
      private static final String D_LETTER = "D"; // bad practice
      private static final String EXTENSION = ".doc"; // good practice
    }

    另一个典型的错误是在单元测试中使用常量,以避免测试方法中重复的字符串/数字文字。 不要这样! 每种测试方法都应使用自己的一组输入值。

    在每种新的测试方法中使用新的文本和数字。 他们是独立的。 那么,为什么它们必须共享相同的输入常量?

    测试数据耦合

    这是测试方法中数据耦合的示例:

    User user = new User("Jeff");
    // maybe some other code here
    MatcherAssert.assertThat(user.name(), Matchers.equalTo("Jeff"));

    在最后一行,我们将"Jeff"与第一行中的相同字符串文字相结合。 如果几个月后某人想要更改第三行的值,则他/她必须花费额外的时间来查找在同一方法中还使用"Jeff"地方。

    为了避免这种数据耦合,您应该引入一个变量。

    相关文章

    您可能还会发现以下有趣的帖子:

    翻译自: https://www.javacodegeeks.com/2014/09/typical-mistakes-in-java-code.html

    java错误代码典型案例

    展开全文
  • 运行案例的编码,创建个屏幕对象,提示下面的错误,哪里的问题,请教 import sys import pygame def run_game(): #初始化游戏并创建一个屏幕对象 pygame.init() screen=pygame.display.set_mode((1200,...
  • 1、永久代内溢出 代码中存在不断创建类(注意是类...eclipse或者tomcat启动时候经常会出现类似的错误 2、堆内存溢出 java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配到堆的内存已经用满了,与he...

    1、永久代内溢出

     代码中存在不断创建类(注意是类不是对象实例)的死循环

    jar包过多或者jar包重复,加载了大量的class文件

    永久代内存大小偏小,增加jvm的permsize和maxpermsize的参数大小

    eclipse或者tomcat启动时候经常会出现类似的错误

    2、堆内存溢出

    java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配到堆的内存已经用满了,与heap space 有关

    增加虚拟机中xms(初始堆大小)和xmx(最大堆大小)参数的大小

    检查是否有直接内存的使用。直接内存的大小是否合适

    是否有死循环或不必要地重复创建大量对象

    3、直接内存溢出

    分析堆大小或者直接内存大小是否合理

    设置合理的-xx:MaxDirectMemorySize也可以避免意外的内存溢出

    4、过多线程导致内存溢出

    本质原因是我们创建了过多的线程,而能创建的线程是有限的

          过多线程导致oom的解决办法

    合理减少线程数,检查应用中的线程池,多线程使用是否合理,切忌随意设置较大的线程数

    分析最大堆空间、直接内存大小是否合理

     

    5、cpu使用率高

     生成dump文件

    使用top命令找到耗CPU的线程(top -H -p PID)

    将线程的pid转成16进制(printf "%x\n" tid ,tid是dump文件中的线程id)

    查看dump文件,定位代码

    参考:http://blog.csdn.net/blade2001/article/details/9065985

     

    6、内存使用率高

    生成dump文件;
    用工具分析dump文件;
    定位代码,解决问题

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 代码案例分析 Service层添加了注解@Transactional @Service @Transactional public class CustomerService extends BaseService<CustomerModel, CustomerQueryModel> implements ICustomerService {...
  • 通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会 产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。...
  • 请求消息:客户端发送给服务器端的数据 数据格式: 请求行 请求头 请求空行 请求体 ...响应消息:服务器端发送给客户端的数据 ...1xx:服务器接收客户端消息,但没有接受完成,等待一段时间后,...4xx:客户端错误。代表:
  • 在本文中,提出了一种新的度量标准,称为软件结构质量(SQoS),用于通过加权软件网络(WSN)上的错误传播分析来定量测量面向对象(OO)软件的结构质量。 首先,将软件系统建模为WSN加权类依赖网络(WCDN),其中类...
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • expdp \"/ as sysdba\" tables=user_a.t directory=mydir dumpfile=t.dmp logfile=exp_t.log reuse_dumpfiles=yes导入过程中出现ORA-39154错误,提示导入的内容里包含有不属于user_a用户的对象,这部分对象没有能够...
  • 下载地址:...制作时比较紧张,有问题和错误的还请指正批评,呵呵。开通QQ讨论群,欢迎大家一起讨论技术。群里解决不了的,请在论坛发帖,站长及版主会在每天晚上统一对所有问题进行解
  • 博客地址: ... 案例:本人在使用IntelliJ idea 2017.2 开发SSM应用,做Junit Test测试时,通过Resource注解装配DAO时出现了ERROR的错误提示(Could not autowire. no beans of "XXX" type found...
  • 学习String和StringBuilder和StringBuffe,三个案例代码展示实现和三者的区别,实现代码的错误。 String常用案例 public static void main(String[] args) { // (1)声明一个String对象,其内容为“I am a ...
  • 案例:本人在使用IntelliJ idea 2017.2 开发SSM应用,做Junit Test测试时,通过Resource注解装配DAO时出现了ERROR的错误提示(Could not autowire. no beans of "XXX" type found). 但是当时并未在意,因为单元测试能够...
  • 1、概念:当JSP页面发生错误产生异常时,使用隐含对象exception针对该异常做出相应的处理。使用exception对象时,需要在page指令中设定:<%@page isErrorPage="true"%>,否则会出现编译错误。当异常发生时,则...
  • CSS案例练习

    2021-01-26 19:42:03
    前几天做了pink老师给的案例,自己做的过程还是发现有些CSS语法忘记了,过程中还有一些小错误,有些时候分不清修改样式的对象是盒子还是链接,这个问题需要充分的思考和多次练习。 案例成品如下图: 代码如下: <...
  • 1.要求。 1.2IO分类 2.文件路径的小坑 在代码写相对路径,是相对java...3.复制文件案例 该方法传两个文件名,a复制一个文件b的功能 public void iocopy(String a,String b) { File file1=new File(a); File file2
  • 第五章 JavaScript 对象

    2020-04-30 16:57:54
    JavaScript前端开发教程 目录: 第五章 JavaScript 对象 ...错误处理 代码调试 原型 继承 静态成员 属性搜索原则 原型链 【案例】表单生成器 &&:习题+答案 **链接:第五章 JavaScript 对象 ...
  • junit白盒测试 案例 为什么要建立一种预期测试失败的机制?... 具体情况是我正在测试一段代码,该代码可能会在对象调用内引发Assert错误。 该代码被编写为对流行的新Fest Assertions框架的增强,因此,为了测试功...
  • 递归的案例/解析

    2020-08-29 23:33:02
    方法的三种调用: 有返回值: new一个对象对象调用方法...错误用法: /* 简单来说递归就是自己调用自己;案例如下 */ //这只是给予理解(不建议这样使用,会出现溢出的异常) public class ra1{ public static vo
  • SpringBoot入门案例

    2020-11-29 11:24:38
    通用的分页对象。 常用工具类。 全局异常拦截。 错误枚举。 自定义异常。 多环境配置文件。 Maven多环境配置。 日志配置。 JenkinsFile。 Swagger 写接口文档通常是一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 589
精华内容 235
关键字:

对象错误案例